Bm
Tall Tree Systems introduced a 2MB
memory board called JRAM-2. It broke the
and offered
I/O modules, a warm re
switching at an incredibly
data saver, and high speed
Then one day a
low and it worked like
hardware
software company and a
iSM
company discovered the
and issued
EMS. In no time at all
i. t
. ‘
Tall Tree Systems introduced JRAM-3
which usednhi
the warm re
switching and the low
but now it can jggf multi-user and multi-tasking
programs. Best of all it has a new
called JLASER
It lets your HP LaserJet or other laser printer
based on the Canon
■
do full page graphics and custom
typesetting just like
HP LaserJet,
Rampllje, and
Above Board
are trademarks
of Hewlett-
Packard,
Canon, AST
Research Inc.,
and Intel Corp.,
respectively.
Tall Tree Systems
1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980
The text and icons on this page were created on a Composition Technology International PageScan System
using a Tall Tree JRAM-3 board and was output on a Corona Laser Printer.
CIRCLE NO. 197 ON READER SERVICE CARD
JRAM-3
Rampage™
AboveBoard™
JLASER
/
\ TS -%*
/
9
/
/
m
/
/
$
269
495
395
the System/3X specialists. Call today for a
dealer near you and discover how the PC/5251
MATE can take the complication out of com¬
munications integration.
(206) 462-8200
The best solutions. The best support.
Technology Group Inc.
1601116th Ave. NE, Bellevue, WA 98004 (206) 462-8200
CIRCLE NO. 121 ON READER SERVICE CARD
If you can't share files on your network,
you're using the wrong file manager.
Be connected. Btrieve.®
Networks can solve problems. But
running a single-user file manager can
create new ones: Lost updates. Garbled
data. Trashed files.
Btrieve® IN offers safe multi-user file
management that protects your data
when sharing files. And eliminates the
need to rewrite your application for
networking. Btrieve/N set the file
management standard for the indus¬
try's most popular LANS: IBM's PC
Network, Netware, PC Net and Ether-
Series. And now Btrieve/N sets the
standard for multi-user systems:
XENIX, MultiLink Advanced and others.
Fast. Btrieve/N is fast, too. It's written
in assembly language especially for the
IBM PC. And based on b-tree file in¬
dexing with automatic balancing for ac¬
cess speed that won't degrade as your
database grows. With Btrieve/N, your
applications always run fast. And users
don't waste time waiting.
Automatic file recovery. Btrieve/N
provides automatic file recovery after
a system crash, so accidents and power
failures don't turn into database dis¬
asters. Your Btrieve data always comes
back intact.
Fully-relational data management.
SoftCraft's entire family of products
gives you a complete, fully-relational
database management system.
Rtrieve™/N adds report writing capa¬
bilities for generating the reports you
heed. Xtrieve™/N speeds users
through database queries with interac¬
tive, on-screen menus—no command
language or special syntax.
For professional programmers.
Btrieve/N is the fast, reliable answer for
all your application development. In
any development language—BASIC,
Pascal, COBOL, C, FORTRAN and
APL. With multikey access to records.
Unlimited records per file. Duplicate,
modifiable, and segmented keys.
With Btrieve/N, you can develop bet¬
ter network applications. And solve
problems, not create new ones.
NO ROYALTIES
Suggested retail prices: Btrieve , $245;
Btrieve/N, $595; Xtrieve, $195;
Xtrieve/N, $395; Rtrieve, $85;
Rtrieve/N, $175. Requires PC-DOS or
MS-DOS 2.X, 2.X, or 3.X.
Btrieve is a registered trademark and Xtrieve and
Rtrieve are trademarks of So ft Craft Inc.
SoftCraft Inc.
P.O. Box 9802 #917
Austin, Texas 78766
(512) 346-8380 Telex 358 200
CIRCLE NO. 201 ON READER SERVICE CARD
SIX NEW SHAPES OF BASIC / TED MIRECKI
The shortcomings of BASICA are attacked in very different ways and with varying degrees of success in six alternative BASIC
products. They combine the resilient strengths of traditional BASIC with the advanced concepts of structured programming.
MECHANICAL CAD / VICTOR E. WRIGHT
CADKEY is a powerful 2-D/3-D production drafting system, but it lacks certain features that may limit its appeal to some
designers. It is aimed primarily at the mechanical engineering segment of the microcomputer CAD market.
INSTANT SCREENS / AUGIE HANSEN
Rapid display changes may produce an annoying screen interference in text mode on the IBM Color Graphics Adapter. The
problem can be avoided by using horizontal and vertical retrace periods and swapping the visual and active page.
EQUATION SOLVING BY FORMULA/ONE / VICTOR E. WRIGHT
Scientific, engineering, and business environments often require a system or process to be modeled with a set of mathematical
relations. Formula/One from Alloy Computer Products, Inc. automates the mathematical modeling operation.
PC VERSIONS OF iRMX / RICHARD M. FOARD
Realtime Systems: Real-Time Computer Science Corporation has adapted Intel’s venerable 8086-family realtime operating system,
iRMX, to fit the IBM PC family. Its products, PC/RTX and AT/RTX, are reviewed in this continuing series on realtime systems.
A DATA MANAGER WITH FLEXIBLE DESIGNS / RICHARD N AARONS
Micro Data Base Systems has drawn on its product, MDBS III, considered a standard in the minicomputer and mainframe worlds, ^
to create KnowledgeMan/2 for microcomputers. It is a powerful and flexible data manager designed for application developers. 1 jO
1
FE€H
[OURNAl
r
JUNE 1986
L VOLUME 4, NUMBER 6
PC Versions of iRMX 126 Mechanical CAD 80 Equation Solving by Formula!One 110
11
DIRECTIONS
Bigger, Smaller,
Faster, Slower
17
LETTERS
31
PRODUCT OF
THE MONTH
The Portable II
32
TECH RELEASES
47
TECH NOTEBOOK
RTDs and Thermocouples
187
PROGRAMMING PRACTICES
Accessing the Print Queue
195
PRODUCT WATCH
Zim Release 2.5
BASIC Development System
Whitesmith's C Compiler
TakeTwo
207
BOOK REVIEWS
Practical CAD
209
TECH MART
211
TECH BOOK
218
CALENDAR
219
READER SERVICE CARD
Cover computer graphic • Dov Jacobson
PRODUCTIVITY
TOOLS
From Opt-Tech Data Processing
Opt-Tech Sort
TM
ALL NEW Version 3.0 features even faster sorting,
record selection, output record reformatting,
dBASE III files, comma delimited fields, and much
more. This high performance sort/merge/record
selection utility can be used as a stand-alone program
or called as a subroutine from most languages.
Supports unlimited filesizes, multiple input files and
fixed or variable length records. Many special file types
are supported including Btrieve and dBASE. Up to
nine sort control fields (ascending or descending), all
common data types supported. Output files can be
combinations of full records, keys or pointers, subsets
of the input file fields, and literal values.
Written in assembly language for high performance.
Example: 4,000 128 byte records sorted to give key
and pointer in 30 seconds. $149.
On-Line Help"
A comprehensive utility for adding help windows to
your programs. It provides efficient utilities and
routines for interfacing your programs with the help
system routines and help message libraries.
Help windows are displayed in a fraction of a second.
You have total control over the contents of the window,
its size and its position on the screen, including the
display and border colors.
On-Line Help can be interfaced with interpreted Basic
and all popular compilers. $149.
Scroll & Recall"
Allows you to conveniently scroll back through data
that has gone off the top of your display screen. Up to
27 screens of data can be recalled or written to a disk
file (great for documenting systems operations).
Allows you to easily recall and edit your previously
entered DOS commands and data lines without re¬
typing.
Scroll & Recall is very easy to use. It’s a resident utility
that’s always there when you need it! $69.
All programs IBM PC/XT/AT & MS-DOS compatible.
Visa, M/C, AMEX, Check, Money Order, COD
or Purchase Orders accepted.
Quantity and Dealer Discounts Available
To order or to receive additional
information write or call:
Opt-Tech Data Processing
P.O. Box 678 - Zephyr Cove, NV 89448
(702) 588-3737
' OURNA
VOL. 4, NO. 6
PUBLISHER: Newton Barrett
EDITOR: Will Fastie
EDITORIAL
MANAGING EDITOR: Marjory Spraycar
EXECUTIVE EDITOR: Julie Anderson
TECHNICAL EDITORS: Jeff Duntemann, Caroline Halliday
ASSOCIATE TECHNICAL EDITOR: Dan Beale
SENIOR COPY EDITOR: Susan Holly
COPY EDITOR: Gail Shaffer
PROOFREADER: Kathleen Peddicord
NEW PRODUCTS EDITOR: Carole Autenzio
ADMINISTRATIVE ASSISTANT: Diana Carey
CONSULTING EDITORS: Thomas V. Hoffmann, Richard M. Foard
CONTRIBUTING EDITORS: Steven Armbrust, Don Await, Michael
Covington, Ted Forgeron, Augie Hansen, Ted Mirecki, Max Stul
Oppenheimer
ART & PRODUCTION
ART DIRECTOR: Ina Saltz
ASSOCIATE ART DIRECTOR: Sharon Reuter
ASSISTANT ART DIRECTOR: Sandra Ray
ART SECRETARY: Sabrina Reynolds
ADVERTISING PRODUCTION MANAGER: Lisa Franey Ducey
EDITORIAL PRODUCTION COORDINATOR: Eve Hinderer
ADVERTISING SALES
ADVERTISING DIRECTOR: Rita Burke
MARKETING COORDINATOR: Julie Henderson
ADVERTISING COORDINATOR: Michele Fischetti
DISTRICT MANAGERS: Rosemarie Caruso, Jan Schultz—East Coast; Ted
Bahr, Bill Bush, Phyllis Egan—West Coast
ACCOUNT REPRESENTATIVES: Pat Toohey, Jane Anderson—East Coast;
Arlene Braithwaite — Midwest; Pam Sigal, Jane Anderson—West Coast
CIRCULATION
CIRCULATION MANAGER: Charles Mast
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig
MEDIA MANAGER: Melinda Kendall
ZIFF-DAVIS PUBLISHING COMPANY
PRESIDENT: Kenneth H. Koppel
SENIOR VICE PRESIDENT, Marketing: Paul Chook
VICE PRESIDENT, Operations: Baird Davis
VICE PRESIDENT, Controller: John Vlachos
VICE PRESIDENT, Creative Services: Herbert Stem
VICE PRESIDENT, Circulation: Alicia Marie Ivans
VICE PRESIDENT, Circulation Services: James Ramaley
VICE PRESIDENT, Marketing Services: Ann Poliak Adelman
VICE PRESIDENT, Development: Seth Alpert
VICE PRESIDENT: Hugh Tietjen
BUSINESS MANAGER: Gary A Gustafson
PRODUCTION DIRECTOR: Walter J. Terlecki
ZIFF COMMUNICATIONS COMPANY
PRESIDENT: Philip B. Korsant, EXECUTIVE VICE PRESIDENT: James D. Dunning, Jr.,
SENIOR VICE PRESIDENTS: Philip Sine, Kenneth H. Koppel; VICE PRESIDENTS: Laurence
Usdin, William L. Phillips, J. Malcolm Morris, Steven C. Feinman, TREASURER: Selwyn Tauh-
man ; SECRETARY: Bertram A. Abrams
EDITORIAL OFFICE
PC TECH JOURNAL, The World Trade Center, Suite 211, Baltimore, MD 21202.
301/576-0770. FAX (group 3): 301/576-9603. MCIMail: PCTECH. PCTECHline:
301/576-PCTJ. Telex: 6502565932 MCI.
ADVERTISING OFFICES
(East Coast/Midwest) One Park Ave., New York, NY 10016. 212/503-5185.
(West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-2100;
11 Davis Drive, Belmont, CA 94002. 415/598-2290.
SUBSCRIPTION INQUIRIES
PC TECH JOURNAL, P.O. Box 2968, Boulder, CO 80321. Subscription service:
800/525-0643, 303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to
Ziff-Davis Publishing, One Park Ave., 4th floor, New York, NY 10016.
PC TECH JOURNAL (ISSN 0738-0194) is published monthly, $29.97 for one year, $52.97 for
two years, $69 97 for three years. Additional postage $6 for Canada & Foreign by Ziff-Davis
Publishing Company, One Park Avenue, New York, NY 10016. Second-Class Postage paid at
New York, NY and at additional mailing offices. POSTMASTER: Send address changes or
subscription inquiries to P.O. Box 2968, Boulder, CO 80321.
PC TECH JOURNAL is an independent journal, not affiliated in any way with International
Business Machines Corporation. IBM is a registered trademark of International Business
Machines Corp. Entire contents Copyright ® 1986 Ziff-Davis Publishing Company. All rights
reserved; reproduction in whole or in part without permission is prohibited. Direct written
requests to Jean Lamensdorf, Licensing Manager, Reprints/Rights & Permissions, One Park
Avenue, New York, NY 10016.
CIRCLE NO. 222 ON READER SERVICE CARD
Save On New Model of Periscope
SUMMER SALE. CHECK OUT THE REVIEWS.
You don't have to spend thousands, or even hundreds,
of dollars to buy a high-performance debugger.
Through August 31, the new software-only Periscope
II-X is yours for only $95! Periscope II, normally $145, is
only $125!
NEW MODEL.
Periscope I includes both a break-out switch for "spon¬
taneous" debugging and a RAM board to protect the
debugger from programs that overwrite memory. Peri¬
scope II includes a break-out switch that doesn't require
an extra slot to install. And the new Periscope II-X is
Periscope II without the break-out switch. So you can
now get Periscope with no hardware at all!
* "Periscope strikes a balance of power and features that
will please serious PC programmers." — Jeff Dunte-
mann, PRODUCT OF THE MONTH, PC Tech Journal 1/86
* "This symbolic debugger, with its breakout button and
powerful command options, stands unrivaled for its flex¬
ibility . . . Periscope's diverse features > affordable price ,
and portability place it in a class by itself." —Ward
Christensen, "Breaking out with Periscope," PC Tech Journal
3/86
* "Periscope represents the finest software debugger avail¬
able in its class." — Andrew Fried, Computer Shopper, 4/86
NEW RELEASE.
The new version 2.1 enhances all models with many of
the features users have requested. Call for details.
Other reviews have appeared in Computer Language
(3/86), the Boston Computer Society's PC Report
(1&2/85), and Programmer's Journal (Vol. 3, No. l).
FM CONVINCED PERISCOPE IS FOR ME!
Please send me the following:
Periscope II-X_@ $95*. .
Periscope II with
Switch_@ $125*..
Periscope I with Board
& Switch_@ $295..
Add Shipping Cost (see below)..
Total Order Amount..
Shipping-$3 UPS; $5 COD; $8 Canada; $24 Foreign
We accept qualified PO's in the U.S.
‘Prices good through August 31, 1986
Ship to:
Name_
Company _
Address _
City/State/Zip _
Telephone_
Payment:D Check enclosed □ COD □ MC □ Visa
Card No. _
Expires -
Signature -
PERISCOPE REQUIRES an IBM PC, XT, AT,
Compaq, or other close compatible; 128K RAM;
DOS 2.0 or later; one disk drive; and an 80-column
monitor.
Take advantage of the low sale
prices while they last . . . Order
your Periscope today! To order, clip
the coupon, or call TOLL-FREE
SB 800/722-7006 B
30-Day Money-Back Guarantee
Get Your Programs Up and Running;
up PERISCOPE!
Data Base Decisions
14 Bonnie Lane
Atlanta, GA 30328
404/256-3860
CIRCLE NO. 215 ON READER SERVICE CARD
•••
The Cordata Desktop Printshop™ has always been the
best value in PC-compatible laser printers.
With speed and flexibility that the others can't match.
For example, we put 38 type fonts on diskette, not
expensive cartridges. And let you mix up to 32 fonts in a
single document. Automatically.
A high-speed graphics interface transfers data up to 30
times faster than Hewlett-Packard's LaserJet+, and because
most Desktop Printshop features are implemented in soft¬
ware, they’re easy to update.
And because
Epson™ emulation is
standard, the Desktop
Printshop has a ready-
to-run solution for
many programs that other
laser printers can’t use.
Not to mention
being easier
But now the Desktop Print-
shop is an even better value.
A new forms design software program comes with the
Desktop Printshop that lets you create documents quickly—and easily—
using pull-down menus, not complicated commands.
We’ve also included the industry-acclaimed Wordstar
2000™ word processing program. So you can start producing
near-typeset quality memos, reports, and correspondence
right away.
Last, but not least, we’ve lowered the price of the
Desktop Printshop to $2995, including forms design
software, Wordstar 2000 and 38 fonts on diskette.
So don't settle for just any laser printer.
Demand the Desktop Printshop.
All it takes is a call to Cordata at: (800)
621-6746 (in CA: (805) 495-5800; in Canada:
(604) 984-0641) for the name of your nearest
Desktop Printshop dealer.
After all, how can you afford
not to look your best?
cordcitci
The Desktop
Printshop
CORDATA, 275 E. Hillcrest Drive, Thousand Oaks, CA 91360
TELEX 650-2696270; in Europe: Holland 032-18111
CIRCLE NO. 117 ON READER SERVICE CARD
AW. . .
WHAT THE HECK!
ProDesign II
The Easy to Use CAD System!
ProDesign II is one of the most advanced GAD packages available
for microcomputers. We think it’s absolutely the easiest to use.
With competitive GAD systems priced at $ 1500 to $2500, we were
posed with the problem of setting our price.
ProDesign II works a wide variety of digitizers and mouse
devices. It works with nearly any plotter or printer available for
the IBM PC. ProDesign II can produce plotter quality drawings
on ordinary dot matrix printers - a feature found exclusively on
ProDesign IL ProDesign II utilizes a virtual screen 4 times the
size of the physical screen to make it practical to produce draw¬
ings on a normal resolution IBM monitor. ProDesign II is truly
an outstanding GAD package for the IBM PC and compatibles.
The question we had to answer was: Even though we had abetter
product, should we price it higher than the other GAD systems,
on the market?
We did market studies and calculations. We consulted with
experts We drew charts and graphs. We used the finest spread¬
sheet programs money could buy. When it came right down to it,,
we still didn’t know what to sell ProDesign II for. $2995? $2495?’
$1995? We even considered $995.
Then, in the great American tradition, we said, “AW.. .WHAT'
THE HECK! Let’s see the other guys beat this price!” ProDesign
II costs $299. At that price, you can’t go wrong!
AW.. .WHAT THE HECK!
$299.95
THE SPACE SHUTTLE DISCOVERY
American Small Business Computers
118 South Mill
Pryor, Oklahoma 74361
918 / 825-4844
Why should you get ProDesign II? Four simple reasons:
1. ProDesign II is easy to use. You won’t have to spend
weeks learning simple functions.
2. ProDesign II works with the hardware YOU own.
ProDesign II supports most printers and plotters
available for the IBM PC, as well as a wide variety
of digitizers and mouse devices.
3. ProDesign II can produce plotter quality output
on ordinary dot matrix printers. (The B1 Bomber
above was printed on an Epson RX-80.)
4. ProDesign II is priced 70% to 80% below competitive
products!
What do you need to run ProDesign II? An IBM PC or compatible
with 512K RAM and graphics capability.
How do you get ProDesign II? See your local computer dealer
or contact us.
ProDesign II - The Easy to Use CAD System!
CIRCLE NO. 218 ON READER SERVICE CARD
HAVE YOU STRIPPED YET?
Its a question more and more PC owners are asking. And no wonder. What
everyone is talking about is Softstrip™. The revolutionary technology that is
changing the shape of computer software.
The Cauzin Softstrip System is more than just software or data on paper. Because
when you invest in this system, you can do much more with your computer, and
for far less than you are probably spending now. You can even create and print out
your own data strips with a special StripWare package that’s only $19.95.
TAKE OUR ADS (SUCH AS THIS ONE)
It’s part of our expanding StripWare™ Library containing programs, data, art,
spreadsheet, macros and templates. The Library features a variety of software
applications and you’ll find new material appearing each month in such leading
computer magazines.
When you invest in the Softstrip System, you get the Softstrip reader, a special
storage base, and a full one-year replacement warranty. Also included with your
purchase is a complete Accessory Kit for your PC containing connector cables and
communications software to link your computer to the reader.
In addition, you’ll find a StripWare Sampler with 48 programs from a line-up
of popular authors and publishers that includes Addison-Wesley, David Ahl, Family
Computing, Tim Hartnell, Hayden Books, PC Tech Journal, Osborne/McGraw-
Hill, The Waite Group, and John Wiley & Sons.
When you become a Softstrip reader owner, you also get a FREE one year
StripWare Club membership with programs mailed to you monthly. You’ll even
receive a FREE Cauzin Effect Newsletter filled with the latest updates and news
about Softstrip developments.
The Cauzin Softstrip System is just that, a complete system that opens up a
new world of computer programs and data on paper. And it’s all yours for only
$199.95!
For the Softstrip System Dealer nearest you, (or if there isn’t one in your area,
to order), call toll free: 1-800-533-7323 (in Connecticut: 203-573-0150)
ANOTHER WAY OF
LOOKING AT PROGRAMS
How many times have you read about a particular program in a magazine or book and thought
to yourself that you’d like to have it? It could be the program you’ve been looking for to solve
an important applications problem. But, somehow there never seems to be time to type it in,
no matter how critical it might be for you. A few publishers sell their monthly programs in
disk format, but you have to wait several weeks for delivery and you need the program now.
The Cauzin Softstrip™ System offers you an efficient, low-cost alternative that will let you
import programs you’re interested in right from the publication.
The data strips on the right contain the code listings for two articles from this issue of
PC TECH JOURNAL: “Instant Screens for PC Programs” by Augie Hansen, and “Accessing ^ I
the DOS Print Queue” by Patrick Finan. People who own Softstrip readers don’t have to wait ■
to use these programs, they’ll read them into their PCs from this page. Shouldn’t you be a
Softstrip reader owner? Why wait!
Read in the data strips following the instructions that came with your Cauzin Softstrip™
reader. Please refer to the individual articles for details on how to use the listing files.
Reprinted with permission of PC TECH JOURNAL
Copyright © 1986 Ziff-Davis Publishing Company
StripWare Library No. 291
Cauzin Systems, Inc.
835 South Main St., Waterbury, CT 06706
CIRCLE NO. 156 ON READER SERVICE CARD
ATRON BUGBUSTERS
GREASE BORLAND LIGHTNING
“If I were starting a software company again, from scratch, Atron’s AT PROBE™ would be among my very first
investments. Without Atron’s hardware-assisted, software debugging technology, the flash of Turbo Lightning™
would be a light-year away’.’ Philippe Kahn, President, Borland
$ 3 Qr- Mur % % W \
4 2 46 ! «0: fe 1 ' 1 %
§ 5 140 m:P k . X
6 6 45 %mp§> ■
7 7 78 Wicre 2 no®
sis 134 Mien A, *c<m
9 j 9 1 % PR;V„ k \ ^4
•to ! IS j 2 * IfcBf.*** :
11 ' 12 | 66 : ThlnkT^ **:
12 h0) 139 i PfS: 8 epjj • )
13 1 11 j 138 j Worcia» - 5 v.i
14 j 13 j 65 . Word |
15 j 24 j 7 "9 " •
i«I-m 4 ^
17 ! 16 17 J Helix < ' - 3 •-
IS ! IS I 23 Hoyden^ fetf'Vc
19 j 19 I 36 j
20 ? 20 ! 58 | Frames.... ; hw/m-
21 j 14 j 17 Microsoft
22 26 ! 47 | SyperCiei-v. ZWtKti
23)21 j 33 '
24|-| 1
25 ! 17 j 22 | Clfci. - a. J3l
26 22 1 48 I
27 % 134 j® Ji
28 igw
144
SHM'ktCk -
«l * -.hf
gfelfamtC' A
Wfcjfii#
**«*
- 8
t SW3 -
Hot tM
p^rnlm ****** m wwc
wgmnm Mm 24.
h mkbsn
TTTs iiST*
tafta*Se Mstumas*
. ! .^^1-
HOW BORLAND
DOES SO MUCH,
SO WELL, SO FAST
We asked Borland
International president
Philippe Kahn to share
his secrets for rapidly
taking a good idea and
turning it into rock-solid
reality. How does the
Borland team do so
much, so well, so fast?
He begins, “I
remember when Atron
used the June 24, 1985
Wall Street Journal chart
of top-selling software in
an ad!’ [Note: At that
time, seven of the top ten
software packages were
created by Atron cus¬
tomers; it’s now now
nine out of ten.] “Side-
Kick was number four,
and I let Atron quote me
in saying that there
wouldn’t have been a
SideKick without
Atron’s hardware-
assisted debuggers.
“You might say light¬
ning has literally struck
again. Turbo Lightning
made number four on
SoftSel’s Hotlist within weeks of its introduction! And
again, I say we couldn’t have done it without Atron
debugging technology.
“Cleverly written code is, by definition tight, recur¬
sive, and terribly complex’’ he continues. “Without the
ability to externally track the execution of this code,
competent debugging becomes very nearly impossible!’
Concludes Philippe, “And after Turbo Lightning was
solid and reliable, Atron tuning software turned our
Probes into performance analyzers. How do you think we
greased our lightning?”
Philippe, along with a couple million or so of your
satisfied customers, we say congratulations on yet
another best-selling product. We can’t wait to see what
awesomely useful technology will come shooting out of
Borland International next.
HOW BUGBUSTERS KEEP YOU FROM GETTING SLIMED
The AT PROBE is a circuit board that
plugs into your PC/AT. It has an
umbilical which plugs into
the 80287 socket and
monitors all 80286 activity.
Since AT PROBE can
trace program execution in
real time, and display the
last 2048 memory cycles in
symbolic or source-code
form, you can easily answer
the questions: “How did I
get here?” and “What are
those silly interrupts
doing?”
It can solve spooky
debugging problems.
Like finding where
your program over¬
writes memory or I/O -
impossible with soft¬
ware debuggers.
You can even do
source-level debugging
in your favorite lan¬
guage, like C, Pascal or
assembler. And after
your application is
debugged, the AT
PROBE’s performance
measurement software
can isolate perfor¬
mance bottlenecks.
Finally, the AT PROBE has its own 1-MByte of mem¬
ory. Hidden and write-protected. How else could you
develop that really large program, where the symbol
table would otherwise take up most of memory.
LOOK AT IT THIS WAY.
History shows that non-Atron customers don’t stand a
very good chance of making the Top Ten list. Lightning
really does have a way of striking twice!
The PC PROBE™ is $1595 and the AT PROBE is
$2495. So call Atron today. You can be busting some
really scarey bugs tomorrow. And maybe, just like
Borland, you can also bust some records.
THE DEBUGGER COMPANY
20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900
Copyright © 1985 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. SideKick™ and Turbo Lightning™ Borland International, Inc., Adv. by TRBA, 408/258-2708.
CIRCLE NO. 203 ON READER SERVICE CARD
DIRECTIONS
WILL FASTIE
Bigger, Smaller, Faster, Slower
A raft of new PCs from Compaq and IBM keep this
editor’s blood flowing.
H eaven. Editors of computer maga¬
zines, I think, live for the introduc¬
tion of new machines. There is nothing
I like more than sitting in my office sur¬
rounded by many computers of all
shapes, sizes, colors, and descriptions.
Sometimes I even use them.
We have really struck pay dirt lately
with the RT/PC, the Compaq Portable II
(see Product of the Month, this issue,
p. 31), new XT models and options, a
new AT model, and, finally, IBM’s long-
awaited and long-predicted laptop, the
PC Convertible (see Tech Releases, this
issue, p. 32). Compaq has been busy
the past two years developing its 286
machines, but IBM has been relatively
silent. Suddenly, an explosion of hard¬
ware and software from IBM and some
excitement from Compaq shatters our
complacency and editorial schedule.
The big news is, of course, IBM’s
announcement of the PC Convertible,
the first true portable from Big Blue.
Characterized by an LCD display no
better than any other, limited memory
(given the price), and sluggish disk
performance, the significance of this
machine must be found elsewhere.
Indeed, the Convertible has some
interesting aspects. First is the reported
reason the machine lost out in bidding
for the IRS contract: 3^-inch diskette
drives. Concern over data interchange
between machines with 5^-inch drives
is mitigated by IBM-provided 3^-inch
drives for the PC family and by the fact
that data interchange requirements are
probably not as great a problem as
everyone thinks. What the IRS over¬
looked was not only the greater capac¬
ity of the little guys (720KB), but also
the inherent reliability of the media.
The smaller diskettes afford a much
higher level of protection for the media
with their rigid jacket and retracting
access cover. For a portable computer
that will be subjected to extremes of
use, wear and tear on the media is a
very important consideration.
A second important characteristic
of the PC Convertible is the reason for
its name. The user can detach the LCD
display and attach a regular monitor
(although an additional adapter is
required for such use). IBM touts the
machine as one that can be used both
as a portable computer and as a desk¬
top. If a new, more desirable display
becomes available, IBM can integrate
the improved device into the manufac¬
turing process. The customer pays for
the detachability to begin with, but
long-term benefits include lower costs
associated with efficient manufacturing.
The customer also may be able to retro¬
fit to a better display, avoiding early
obsolescence of the machine.
The single most important part of
the PC Convertible is the set of IBM-
built integrated circuits that replace
most of the off-the-shelf logic found in
the desktop PC. The Convertible is the
medium with which IBM puts the Far
East on notice: if necessary, an 8088-
based machine (like the PC or XT) can
be built here and, obviously, be com¬
petitive. Not only that, it can be built
almost completely without third-party
parts. Although 80286-based machines
will become the most sought-after desk¬
tops, the basic PC architecture is viable,
usable, and, as IBM shows us in the
Convertible, economical.
That leads to the price of the Con¬
vertible. At first glance, $1,993 for a
two-drive unit with an IBM label seems
reasonable. The actual price, however,
is $2,375 because today’s software de¬
mands more than the standard 256KB
of RAM. Worse, that extra $380 expands
the machine to only 512KB, the maxi¬
mum configuration. A number of popu¬
lar software packages simply cannot
function well (or at all) without 640KB.
Possessed of many nice features, a
reasonable configuration, and the IBM
logo, the PC Convertible should be¬
come a popular machine. It is not, how¬
ever, what all of us want: a standard PC
squashed down to the size of a book.
BIGGER AND FASTER
The PC Convertible was just one of a
long list of announcements from IBM in
April. IBM has restructured its entire
PC/XT/AT product line, including deriva¬
tives such as the 3270- and the -/370,
with new system boards, faster AT per¬
formance, and bigger disks.
An eight-megahertz AT is nothing
more than a catch-up machine. IBM is
surprisingly late with this development,
and it may have cost the company a sig¬
nificant early share of the 286-based
market. It is attempting to recapture a
share with a $5,295 base price for a
machine with 512KB of memory (why
JUNE 1986
11
ILLUSTRATION • MACIEK ALBRECHT
DIRECTIONS
on earth 640 is not the standard escapes
me still), the 8-MHz clock, and a 30MB
fixed disk. Strangely, the current 6-MHz
AT remains, in two configurations. The
first is exactly equivalent to the new
model except for the clock speed; it
lists at $3,293, the same price as the
new one—inexplicable, to say the least.
The original AT with its 20MB disk was
reduced $900 and is now $4,895.
The new XT is more interesting. A
machine with one half-height diskette
drive (that’s right, half-size), 20MB of
fixed disk, and 512KB of memory is
$2,895, a price that is quite competitive
after discount. The new XT system
board supports memory expansion up
to 640KB. For situations in which pro¬
cessor performance is not critical, the
new XT should serve well and provide
ample opportunity for expansion with
its five available slots.
The new XT design also provides
for an internally mounted, half-height
3^-inch diskette drive to provide for
data interchange with the Convertible
or just for larger capacity diskettes.
From a machine standpoint, the
IBM announcements were significant.
The new models and the price changes
give IBM a much more balanced prod¬
uct family. Some problems linger on,
and some of IBM’s decisions seem
peculiar, but notwithstanding buyer
confusion, IBM now offers a better set
of choices for its customers. I |l|l ^»l
I pp p Opp L HiIHp ii
Ill] 1 1 I 1 I f l; l
T rrT'rxcr ^ r~i
3
aaalnrai
1
mm
L
wmmmm
■SlHM
The new IBM "universal" keyboard (PC/AT version)
KEYBOARDS, KEYBOARDS,..
When IBM announced the RT/PC, it
also introduced a new keyboard,
which is significantly different from
either the PC or AT keyboards. I dis¬
missed the new layout, assuming that
a lower level of RT unit sales would
isolate the new keyboard and make it
a curiosity that the PC-family user
would not really care about.
Silly me. The RT keyboard should
probably be referred to as the IBM
keyboard: on April 2, IBM announced
the availability of the new layout for
the new XT and AT models (it cannot
be retrofitted to older models).
PC Tech Journal will examine the
keyboard in detail in a forthcoming
review, but a number of observations
can be made at this juncture.
First, IBM is very brave. Some of
the changes in the new keyboard will
frustrate users. Software developers
will have bad dreams about designing
products to work on a variety of
layouts or providing keyboard installa¬
tion routines. I expect many to scream
in anguish at Big Blue.
The two most noticeable changes
are the placement of 12 function keys
along the top of the keyboard (where
they belong, after all) and the pres¬
ence of a separate set of cursor keys.
Most users will find these changes
satisfactory and long overdue. The
placement of keys such as Ins, Del,
Home, End, PgUp, and PgDn is more
questionable. IBM hedged its bets: the
numeric keypad still carries the old
legends and can be used, if desired.
IBM returned the Esc key to its
home on the upper left of the key¬
board (many questioned why it was
ever moved). But instead of nestling it
next to the 1 key, it floats separately
next to the function keys—a perfect
solution. Esc is now where it belongs
and is easy to hit without looking.
Another improvement is labeling
keys such as Tab and Backspace with
words in addition to the arrows that
marked them before. The new key¬
board clearly identifies every key.
The big problem with this key¬
board is that the Ctrl key has mi¬
grated. A surprising number of pro¬
grams use control keys for cursor
movement, and an even larger num¬
ber of users have fingers that remem¬
ber. WordStar devotees: look out! IBM
will argue that the original keyboard
is still available and that most pro¬
grams using control characters can
use the regular cursor keys as well.
No matter. The Ctrl key is still in the
wrong place (in fact, in two wrong
places). Worse, it is now where the Alt
key used to be to the left of the Space
Bar (and in a corresponding position
on the right). Alt moved to two new
places flanking the Space Bar.
Why did the Ctrl key move? To
make room for the CapsLock key,
which was repositioned to where it is
found on typewriters. That is a reason¬
able move; the Ctrl key placement,
however, is not. After 15 years of key¬
boarding, it will take me a long time
to get used to a Ctrl key I cannot find.
The final problem is the Enter
key. It has shrunk from the large,
double-row, L-shaped key of the AT to
a single-row, double-width key. The
apparent reason for this is to make
room for yet another placement of the
backslash/vertical bar key.
If that were not enough, IBM also
has given us a different keyboard
layout on the PC Convertible. Some
compromises are to be expected on
smaller machines, especially when the
prime concern is proper key spacing
and full-stroke keys. I can even accept
the keypunch-style embedding of the
numeric keys on the alpha keys and
their activation with a PC/r-like Fn key.
However, IBM made Home, End,
PgUp, and PgDn functions of the cur¬
sor keys, a move bound to frustrate
users of most word processors. Also,
because the function keys have very
little adjoining real estate, templates
are hard to fit.
We can hardly object to the evo¬
lution of keyboards. However, IBM is
a company with vast experience build¬
ing keyboards and should, by now,
have a substantial base of human fac¬
tors knowledge from which to build.
In terms of key placement, IBM’s ex¬
perience is still not showing.
—WF
12
PC TECH JOURNAL
TinyTurbo286 — $695 |
AT Speed in a Half Slot
The People’s Choice
PCturbo286e —$1195
Double AT Speed in a Full Slot
The Super-Achiever’s Choice
BE #1 WITH THE LEADER
Two Breakthroughs to TURBOCHARGE Your PC!
Orchid became the #1 Turbo
company by delivering the
performance, price, and
compatibility you wanted. Now
we have followed our critically-
acclaimed PCturbo 186 with two
powerful new 8MHz 80286
Turbos.
TinyTurbo 286
A half-slot PC/XT caching
accelerator for AT speed at a tiny
cost. It's 100% PC compatible,
even with copy-protected
software, because you can switch
back to the 8088-a feature our
competitors wish they had.
PCturbo 286e
A full-slot PC/XT/AT coprocessor.
Twice the speed of an AT; 5 times
that of a PC for lightning
calculations, dazzling screens,
and unbelievable performance.
A Megabyte of RAM, optional
EMS memory, and free RAM
Disk, Caching, and Print
Spooling. Now your PC can wait
on you instead of the other
way around.
A Windows: No longer do you
need an AT to make it fly.
A Math: Crunch through
computations with 8MHz
80287 power.
A Spreadsheet: Load and
recalculate with amazing
speed.
A CAD: Redraw, zoom, and pan
in a flash.
A Database: Run lengthy up¬
dates on Friday rather than
all weekend.
Orchid's 286 Turbos - The power
you need to get your work done
faster. Let the #1 Turbo Leader
make you #1 on the job.
Norton SI Program V3.0
PCturbo 286e and TinyTurbo 286 are trademarks of Orchid Technology.
All other products names are trademarks of their manufacturers. CIRCLE NO. 142 ON READER SERVICE CARD
IBM XT IBM AT Orchid Orchid
TinyTurbo PCturbo
286 286 e
Choose TinyTurbo 286
If you would like AT speed.
Choose PCturbo 286e
If you demand the ultimate
in performance.
47790 Westinghouse Dr.
Fremont, CA 94536
415/490-8586
Tlx: 709289
ORCHID
The Innovative Leaders
YOUR
COMPUTER LANGUAGE
IS QUIETLY
BREEDING REAL BATS
IN YOUR
BELFRY.
WE'RE OUT 10 SAVE ONE MILLION
FRUSTRATED PROGRAMMERS
You’re on a roll, really pumped,
writing the best code you have ever
written and then—AAARGHHH!
Freeze dried in your tracks because
the language you’re using just won’t
let you achieve what you can conceive.
And you wanted to be a
programmer.
So your choices are:
1) write around the problem by
creating six pages of emetic code...
2) leave out that incredible idea
that really puts your stamp of
excellence on this program or...
3) get yourself a world class
headache (or a stroke) by dropping
into assembler.
Whatever you choose, by now you
feel the language is out to get you—
because it is.
Sure, no language is perfect, but
you have to wonder, “Am I getting
all I deserve?”
And, like money, you’ll never
have enough.
Pretty dismal, huh?
We thought so, too.
So we did something
about it.
We call it CLARION.
You’ll call it incredible.
With CLARION you can
write, compile, run and
debug complex applications
in a New York afternoon.
Even if you’re in Savannah.
It gives you the power and
speed to create screens, windows
and reports of such richness
and clarity you would never
attempt them with any other
language.
Because YOU would have to
write the code.
With CLARION you simply design the
screens using our SCREENER
utility and then CLARION writes
the source code AND compiles
it for you.
In seconds.
Likewise, you can use
REPORTER to create reports.
Remember, only CLARION can
recompile and display a screen or
report layout for modification.
And with no time wasted.
All the power and facilities you
need to write great programs, faster
than you ever dreamed of.
Programs that are easy to use.
Programs that are a pleasure
to write.
And to you that means true
satisfaction.
You’ve coveted those nifty pop-up
help windows some major appli¬
cations feature. But you can’t afford
the time and energy it takes to write
them into your programs.
That’s the way it used to be.
So we fixed that, too.
CLARION HELPER is an inter¬
active utility that let’s you design
the most effective pop-up help
screens that you can imagine. And
they’re “context sensitive,” meaning
you can have help for every field in
your application.
Unlike the other micro languages,
CLARION provides declarations,
procedures and functions to process
dates, strings, screens,
reports, indexed
files, DOS files
and memory
tables.
SAY IT IN
3 >
CLARION
1-800-354-5444
CIRCLE NO. 105 ON READER SERVICE CARD
Imagine making source program
changes with the CLARION
EDITOR. A single keystroke
terminates the EDITOR, loads the
COMPILER, compiles the program,
loads the PROCESSOR and
executes the program. It’s that easy!
Our data management capa¬
bilities are phenomenal. CLARION
files permit any number of composite
keys which are updated dynamically.
A file may have as many keys as
it needs. Each key may be composed
of any fields in any order. And key
files are updated whenever the
value of the key changes.
Like SCREENER and
REPORTER, CLARION’S FILER
utility also has a piece of the
CLARION COMPILER. To create a
new file, you name the Source
Module. Then you name the State¬
ment Label of a file structure
within it.
FILER will also automatically
rebuild existing files to match a
changed file structure. It creates a
new record for every existing
record, copying the existing fields
and initializing new ones.
Sounds pretty complicated,
huh?
Not with CLARION’S
documentation and on-line
help screens. If you are
currently competent in Basic,
Pascal or “C” you can be
writing CLARION applications
in a day. In two days you won’t
believe the eloquence of your
CLARION programs.
Okay, now for the best part of all. You
can say it in CLARION for $295.00—
complete. All you need is an IBM® PC, XT,
AT or true compatible, with 320 KB of
memory and a hard disk drive.
And we’ll allow a full 30 day evalua¬
tion period. If you’re not satisfied
with CLARION, simply
return it in its original condition
for a full refund.
If you’re not ready to take advantage
of this no-risk opportunity, ask for
our detailed 16 page color brochure.
It vividly illustrates the elegance of
CLARION. Consider it a preview of
programming in the fast lane.
Either way, the call’s a freebie.
BARRINGTON SYSTEMS, INC. • P.O. BOX 5580 • POMPANO BEACH, FL 33074 • 305/785-4555
IBM® is a registered trademark of International Business Machines Corporation. CLARION™ is a trademark of Barrington Systems, Inc. ©1986 Barrington Systems.
Now You Know Why
BRIEF is BEST
“BRIEF has improved my productivity tenfold. It paid
for itself in 2 weeks!”
David Norwood, Microsystems Manager
REGULAR EXPRESSION
SEARCH
Regular expression searching is one of BRIEF’S most power¬
ful features. A regular expression is a series of “wildcards”
that match pieces of your text. BRIEF supports a full set of
regular expression characters similar to those found in UNIX
including: beginning an end of line, groups, and the “closure”
and “or” operators.
As Steve McMahon explained in Byte, “Not only does BRIEF
make use of this marvelously general regular expression notation
in its search facility, but its pattern recognition extends to its
replacement (or translation) facility.” “The usefulness of this
facility for programmers who deal constantly with the regular
expressions of formal languages is obvious...”
Every Feature You Can Imagine
The Program
Editor with
the BEST
Features
Since its introduction,
BRIEF has been sweep¬
ing programmers off
their feet. Why?
Because BRIEF offers the
features MOST ASKED
FOR by professional
programmers. In fact,
BRIEF has just about
every feature you’ve
ever seen or imagined,
including the ability to
configure windows,
keyboard assignments,
and commands to
YOUR preference. One
reviewer (David Irwin,
DATA BASED ADVISOR)
put it most aptly,
“(BRIEF).. .is quite
simply the best code
editor I have seen.”
-Solution
stems ™
Compare these features
with your editor (or any
other for that matter).
• FAST
• Full UNDO (N Times)
• Edit Multiple Large Files
• Compiler-specific
support, like auto
indent, syntax check,
compile within BRIEF,
and template editing
• Exit to DOS inside BRIEF
• Uses all Available Memory
• Tutorial
• Repeat Keystroke
Sequences
• 15 Minute Learning Time
• Windows (Tiled and
Pop-up)
• Unlimited File Size
-(even 2 Meg!)
• Reconfigurable Keyboard
• Context Sensitive Help
• Search for “regular
expressions”
• Mnemonic Key
Assignments
9 Horizontal Scrolling
• Comprehensive Error
Recovery
• A Complete Compiled
Programmable and
Readable Macro Language
• EGA and Large Display
Support
• Adjustable line length
up to 512
Program Editing
YOUR Way
A typical program editor
requires you to adjust
your style of programming
to its particular require¬
ments - NOT SO WITH
BRIEF. You can easily
customize BRIEF to your
way of doing things,
making it a natural ex¬
tension of your mind.
For example, you can
create ANY command and
assign it to ANY key -
even basic function keys
such as cursor-control
keys or the return key.
The Experts Agree
Reviewers at BYTE,
INFO WORLD, DATA
BASED ADVISOR, and DR.
DOBB’S JOURNAL all came
to the same conclusion -
BRIEF IS BEST!
Further, of 20 top in¬
dustry experts who were
given BRIEF to test, 15
were so impressed they
scrapped their existing
editors[_____———' V-
r^pv protected) ,
MONEY-BACK GUARANTEE
Try BRIEF (S195) for 30 days - If not satisfied get a full refund.
TO ORDER CALL (800-821-2492)
SOLUTION SYSTEMS, 335-P WASHINGTON ST., NORWELL, MA 02061, 617-659-1571 BRIEF is a trademark of UnderWare
CIRCLE NO. 123 ON READER SERVICE CARD
LETTERS
EDITOR MISSING
Rudy S. Spraycar’s review of ISPF edi¬
tors for the PC, “In the ISPF Tradition”
(March 1986, p. 113), was an excellent
introduction to the facilities of IBM’s
mainframe ISPF. I am a mainframe ISPF
user. My transition from mainframe to
personal computer was made much
simpler by the availability of an ISPF
editor for the PC. However, the editor I
use, IBM’s EZ-VU Editor, was not among
the products reviewed.
A review cannot be unbiased if it is
not complete. If you do not review all
of the available products, you should
state why you have not done so. If
products become available too late to
be reviewed, they should be noted at
the end of an article.
I enjoy your magazine, but such
oversights could change my opinion.
Joseph R. Smith
Kingston, NY
Thank you for pointing out our over¬
sight. We plan to publish a review of
EZ-VU in our Product Watch depart¬
ment in an upcoming issue.
—WF
C NOTES
We at Datalight were pleased with the C
compiler review in your January 1986
issue (“The State of C,” William J. Hunt,
p. 82). We would, however, like to note
changes to Datalight C that have been
made since your review. We are now
delivering a full-featured MAKE pro¬
gram and a compiler control program,
and we have introduced our large
memory model compiler.
One point though: Datalight C is
usable on a dual floppy-disk system.
The compiler and related programs fit
on one disk, leaving the second
completely free for development.
Keep up the good work!
Roy L. Sherrill III
President
Datalight
Mr. Sherrill suggests that Datalight C is
usable on a system that has two floppy
disk drives (and no hard disk) because
the compiler and related files fit onto
one floppy diskette. However, in order
to avoid switching disks as the user
moves from editing through compiling
and linking to execution steps, he must
keep on-line his editor, linker, C librar¬
ies, and some essential DOS files, as
well as the compiler. For the Datalight
product, those files require 413KB —
which is more than the 354KB available
on a 360KB floppy diskette. A RAM disk
of 100KB to 300KB or a hard disk
solves the problem and is a good idea,
whatever C compiler is used.
—William J. Hunt
Congratulations to William J. Hunt for
his review of C compilers. This is one
of the most comprehensive reviews I
have seen on the subject. I am sure it
will go a long way toward helping seri¬
ous programmers make better decisions
about the software they choose.
Mr. Hunt’s evaluation of our com¬
piler is factual and on target. However,
the tables that were included with the
article had a few omissions. Table 1
omitted the fact that Computer Innova¬
tions’ Optimizing C86 does support
medium memory models. Also, Cl C86
does have a cross compiler hosted on
VAXWMS. Table 2 omitted the fact that
C86 Optimizing has prologue and epi¬
logue files for assembly language.
George EbeiPardt
President
Computer Innovations, Inc.
Tinton Falls, NJ
Mr. Eberhardt points out that his com¬
piler supports the medium memory
model. This capability was not docu¬
mented in the version that was reviewed
(2.3a). The manual does provide some
information about assembly language,
but it offers no examples.
—William J. Hunt
With regard to “The State of C,” I won¬
der if you can help with answers to a
few questions. Which companies pro¬
vide multiple floating-point libraries?
Does C have the ability to print a dou¬
ble precision value to 16 (or 17) places
of accuracy? How does one determine if
a C product (such as a floating-point li¬
brary) will work with the Datalight
compiler? Finally, was the MIX C com¬
piler omitted on purpose?
Dexter Shoultz
Walnut, CA
Some companies that offer floating¬
point libraries are as follows: Microsoft
provides three, one works with in-line
8087 instructions; one works with calls
to library functions for float, add, sub¬
tract, and other operations; and one
implements a faster, less accurate ver¬
sion of floating-point arithmetic. Mark
Williams C has different libraries for me
with its linker and the Microsoft linker.
Lattice C now provides a choice of in¬
line 8087floating-point instructions or
library calls; both optiom me a single
library. The DeSmet compiler includes
software and 8087float libraries.
The number of libraries is a poor
memure of functionality. If you need
good floating-point support, you might
ask compiler vendors these questiom:
Does your product represent float data
the same way whether software or 8087
floating point is used? Can a single
EXE file work when no 8087 chip is
present, but me the 8087 efficiently if it
is present? Is floating-point implemented
to meet the IEEE standard? Is a fmter
software float format available for ap-
plicatiom where lower precision than
IEEE and standard C specify?
Float values certainly can be
printed in a format with more than 16
digits. However, most IBM PC C com¬
pilers implement the float data type as a
32-bit value and the double data type
m a 64-bit value. This gives about 6
digits of precision for float and 15
JUNE 1986
17
LETTERS
The DeSmet compiler is fast and
produces fairly efficient code. Its func¬
tions, although few, do exactly what
they are supposed to do with no side
effects. The dynamic memory allocation
can be controlled by the compiler (with
no bugs) or the compiler can give me
pointers and let me control it all. Prob¬
ably its most important feature is that it
will generate full assembly language
code, not some pseudo listing. This tells
me exactly how the compiler is inter¬
preting my source code and lets me
tighten up the program.
Douglas Hill
St. Louis, MO
A.D.A. ADDITIONS
I am the author of A.D.A. Prolog sys¬
tems, and I was impressed with Michael
Covington’s review of the products, par¬
ticularly his suite of benchmarks (see
“Programming in Logic,” December
1985, p. 82; January 1986, p.145). How¬
ever, the review process is always a lit¬
tle unsatisfying. It seems as if perform¬
ance considerations that would become
obvious to a user during prolonged use
are left undiscovered.
Substantial rewriting has taken
place at A.D.A. since the the time of the
review and many new features have
been added to our Prologs. The bench¬
marks that do arithmetic were particu¬
larly unfortunate. The A.D.A. Prologs
compute integers as 32-bit, long signed
quantities. At the time of the review, the
dedicated pointer representation of an
integer was not used, which meant that
unique objects representing each in¬
teger had to be created, and this takes
time. Long arithmetic takes time. To wit,
the revised benchmarks would be 90
LIPS for SPEED1.PRO, 25 LIPS for
SPEED101.PRO, 1,551 recursions for
RECURSE1.PRO, and 1,792 recursions
for RECURSE2.PRO.
The garbage collection pause to
which Mr. Covington referred was, in
fact, a bug. The product is now totally
concurrent and no pauses occur. The
price of the VML Prolog is $200, not
$300 (as of June 1985). All A.D.A. Prolog
systems are large model products, and
PD Prolog is able to access the full
memory of the machine.
All A.D.A. systems now incorporate
screen graphics primitives. The more
advanced versions blend Prolog with
LISP. Where else can you find a Prolog
with multidimensional arrays, global
and local variables that can bypass
instantiation and backtracking, and a
quoted variable class? Persons doing
pattern analysis had better have arrays.
PC TECH JOURNAL
Side&lk
digits for double. The ANSI standard for
C does allow for a long double type;
howei'er, it is not supported by most C
compilers at present. The 80-bit value
that would be used on the IBM PC for
long double would produce more than
16 digits of precision.
C vendors should be able to say
whether their products will work with a
specific compiler. If the product has not
been tested with the compiler, you
should look for an alternative.
—William J. Hunt
The MIX C compiler will be covered in
an upcoming Product Watch. Another
compiler not included in the Januaty
review, Whitesmith C, is covered in this
month’s Product Watch. See page 195.)
—DB
Your review of C compilers in the Jan¬
uary 1986 issue was great. I formerly
used one of the big three compilers,
but I purchased the DeSmet product
based on the recommendation of a
friend, and I would never go back.
It minds the phone while you do your work
No more interruptions! Because now SideTalk can trans¬
fer your files or receive your mail while you’re using your
computer for other important matters. And SideTalk is
programmable with its own BASIC-like language. What’s
more, you’re never more than a keystroke away from all
of the power of SideTalk.
When we say SideTalk is the best telecommunications
program on the market, we’re not just talking out of the
side of our mouth.
CIRCLE NO. 160 ON READER SERVICE CARD
Lattice
To place your order:
Lattice, Incorporated
Post Office Box 3072
Glen Ellyn, Illinois 60138
312-858-7950
TWX 910-2912190
WINDOWS FOR DATA M
MENUS WINDOWS DATA ENTRY
PROFESSIONAL DEVELOPERS, here is
the front end package you’ve been waiting
for, the ONE that does the hard jobs that
others can’t — we guarantee it. Makes
standard display and entry tasks easy.
Reliable. Compact. Portable.
MENUS: Build multi-level menus in the
format of your choosing: Lotus 1-2-3,
Macintosh, or any style you might select.
Items can call sub-menus, data-entry
windows, or action functions. The menu
system is completely flexible.
WINDOWS: WFD is built upon and in¬
cludes Windows for C, the windowing
system rated #1 in PC Tech Journal
(William Hunt, July 1985). WFC now has
more features than ever: unlimited windows
and files, pop-ups, fast screen changes, win¬
dow names, horizontal and vertical scrol¬
ling, logical video attributes, highlighting,
support for the EGA, off-screen updating,
formatted output, word-wrap and auto
scroll, print windows, read and write func¬
tions, and keyboard input with subroutine
execution during waits.
DATA ENTRY: The most complete and
flexible data entry system on the market.
Pop-up data-entry windows, field types for
all C data types, plus special decimal, date,
and time fields, full-featured field editing,
auto conversion to and from strings for all
field types, input masks or “pictures,” pro¬
tected text, system and user-supplied
validation functions, range-checking,
scrollable context-sensitive help, required
and must-fill fields, passwords, programmer
definable keys, field types, and mask func¬
tions, date and time utilities, and string
utilities. Read field by field or auto-read all
fields. Branch and nest window forms.
FLEXIBLE
4 dY ■:
A , / %A * ! i ' a ai : :
J-V r
As many possibilities as Vermont in June.
WINDOWS FOR DATA HAS
UNPRECEDENTED FLEXIBILITY.
Virtually every capability and feature of
WFD can be modified to meet special
needs. All key-invoked data-entry functions
can be assigned to keys of your choosing;
and you can add your own functions to the
key assignment table. This same flexibility
exists for the input masks used to control
data entry. Install your own validation func¬
tions. You can even define new field types
and add them to the system. You do not
need source code to take advantage of the
flexibility of WFD, but full source is
available.
MICROSOFT WINDOWS
COMPATIBILITY
is automatic. Windows for Data
detects the presence of MS Windows
(and IBM’s TopView) and follows
the rules required for full compatibility.
No need for special code, complex inter¬
faces, or expensive toolkits.
EASE OF USE
Ease of use comes first and foremost from
basic design and implementation. WFD is
not just a library of functions, but an in¬
tegrated system for menus, windows, and
data entry.
We make the system easy to learn by
explaining each major application in step-
by-step detail. WFD is documented for the
professional. Six hundred pages of
documentation in a full-size, high-quality
binder. Numerous tutorials and demonstra¬
tion programs are provided. Nearly two
hundred functions are documented indi¬
vidually, to UNIX standards.
RELIABLE
As free from bugs as Vermont in January.
For its basic input and output, WFD uses
the library of Windows for C, a mature
product that has earned a reputation for ex¬
treme reliability. WFD has been through its
“shakedown” and the few bugs that turned
up have been corrected. We promise to
quickly respond to any further bug problems
you may encounter.
THE MEMORY FILE FACILITY
of windows for C is more flexible and
memory efficient than the “virtual screen”
systems of other windowing packages.
Memory usage adjusts to the amount of text
in files. No waste space! Build files of
any length and width from disk, code, or
communications input. Retrieve, replace,
add, and scroll file lines. Open windows at
any point in a memory file. Scroll windows
horizontally or vertically.
UNIX, DOS, OR BOTH
WFC and WFD provide source code com¬
patibility between PCDOS and UNIX. Pro¬
grams written for one operating system will
compile and run on the other with only
minor changes.
UNIX developers, now you can put advanc¬
ed windows, menus, and data entry features
common to the PC world in your UNIX
programs.
PRAISE FROM USERS
“WFD is the best programming tool Fve ever used.
Its the most flexible I’ue seen. Whenever Fve
wanted to do something, Fve been able to find a
wap. ”
Steven Weiss, Stratford Systems (18 yrs; 1 pr) *
“WFC is the standard bp which we judge all other
C utilities. The most helpful tool weve ever
acquired. Absolutelp easy to use. Verp tight code. ”
James Baker, Mathew Bender (7 prs; 4 prs)*
“Especiallp compared to Panel, I love Win¬
dows for Data. Your documentation is great. ”
Don HeinmeUer, Law Software (10 prs; 4 mo)*
“The documentation lets you get up and running
fast. I integrated help routines into existing educa¬
tional programs in a dap and a half ”
Richard Rovinelli, Educational Services
(17 prs; 1 pr)
* (programming experience; C experience)
If you are tired of screen utilities that are
hard to use and limited in capability, you
owe it to yourself and your programs to try
WINDOWS FOR DATA.
OUR CHALLENGE AND
GUARANTEE
If you have an application where no
other tool can do the job, try Windows
for Data. If it doesn’t help you solve
your problem, RETURN FOR A FULL
REFUND. YOU MUST BE SATISFIED.
WINDOWS WINDOWS
FOR DATA FOR C
PC DOS*
XENIX-286
UNIX
$295
$595
CALL
$195
$395
CALL
* For all popular C compilers;
No royalties for DOS
Vermont
Creative
Software
21 Elm Ave.
Richford, VT 05476
802-848-7738,
ext. 21
MasterCard & Visa Accepted. Shipping $3.50
VT residents add 4% tax.
Trademarks: Panel, Roundhill Computer Systems; Microsoft,
(registered) Microsoft Corp., TopView, IBM.
CIRCLE NO. 115 ON READER SERVICE CARD
LETTERS
The most surprising thing you can
do with A.D.A. Prolog is use it as a data
retrieval system. The system was de¬
signed for 1GB (gigabyte) of virtual
memory per file, with an unlimited
number of files. These limitations are
constrained by DOS; however, when
they are lifted, they will become actual.
Atom names can be 3,000 characters
long; you can fill a screen with one of
them. With this capability, huge blocks
of information can be embedded in
Prolog programs.
Some time ago I decided that pure
logic programming wouldn’t hack it.
The system now incorporates explicit
iteration constructs to get around the
tail recursion limit. Tail recursion was
incompatible with the flexible memory
organization the design mandated; this
recursion requires a specific stack order
to avoid dangling references.
A.D.A. Prolog actually was written
for a much larger machine. It is a struc¬
ture-sharing system, which means it
wants a large word length, and it is
written entirely in C. It cannot be as fast
as a system written specifically for the
PC, except where the extensions make
pure logic programming look ridicu¬
lous. But in light of everything else,
does it have to be?
Features are constantly being
added to A.D.A. Prolog. I invite users to
call for an inexpensive update.
Bob Morein
Automata Design Associates
Dresher, PA
DATABASE INTERFACE
The January 1986 article that reviews
Q-PR04 is excellent (“A Data Manager
for Intelligent Screen Forms," Chris
Christian, p. 126). However, it contains
an error that could cause problems for
the novice programmer. On page 131,
the sentence that says, “A reference to
the second element of a state array in
file 1 would be &state[l,2]” should
read “...&state[l,l].’’ A file array is logi¬
cal and the first element is 0, not 1. Ref¬
erencing an item in a file in which item
consists of a single element as
&item[l,l] will generate an error while
&item[l,0] will not.
I have been using Q-PR04 for
more than a year and find it to be most
powerful in developing a good screen-
to-operator interface. The product’s
documentation, however, is difficult. Mr.
Christian’s article provides an overview
that should much reduce the learning
curve for first-time users.
Truman Garinger
Brookings, OR
Array references in the Q-PR04 lan¬
guage start with element 0, as Mr.
Garinger states. The variables in the
state array in file 1 are thus referenced
by &state[l,0], &state[l,l], &state[l,2],
and so on. One distinction that used to
be made between high-level and low-
level languages was the former's pen¬
chant for relative 1 addressing versus
relative 0. This is no longer true, and
Q-PR04 uses the more popular relative
0 address reference.
—Chris Christian
After two years of subscribing to PC
Tech Journal and reading untold num¬
bers of hardware and software reviews,
I was delighted to finally see a software
tool that I use, Q-PR04 from Q-N-E
International, merit its own article.
The only point of contention I have
with Mr. Christian is his insistence that
Q-PR04 programs need menus. I have
written more than 20 applications pro¬
grams in one system using only one
Let DaTapaSS Help You Tie the Knot!
I f you’re ready to unite your IBM PC’s and compatibles to
your host system, it’s time you thought about DaTapaSS.
DaTapaSS is quick and simple. No fuss, no ceremony: Just a
natural union of the features you need most. Features like un¬
attended automatic file transfers. Automatic restart and recovery of
interrupted transfers. Error-free uploading and downloading of
binary or ASCII files: across public networks, dial-up phone lines,
and direct-connect asynchronous lines. Full access to DOS func¬
tions. VT100 emulation. Key-selectable signon sequences. Softkeys
you- can program from DOS or your host system. Outstanding
documentation. You can even use it to transfer files between
different kinds of host systems.
Best of all, you can use DaTapaSS as is, or you can work with our
staff of consultants to build it into your specialized applications.
So. If you’re ready to exchange deadlock for wedlock, try DaTapaSS
- and give DTSS a ring!
DTSS Incorporated
A Subsidiary of Metropolitan Life Insurance Company
Buck Road • Box 70 • Hanover, NH • 03755 • 603/643-6600
CIRCLE NO. 103 ON READER SERVICE CARD
20
PC TECH JOURNAL
ivrniiY
Ulliami
Now the biggest name
in C compilers conies in a size
everybody can afford.
Let’s C:
$75
Introducing Mark W illiams ’ $75 C compiler. Want to explore C programming for the first time? Or just
on your own time? Now you can do it in a big way without spending that way. With Let’s C.
This is no little beginner’s model. Let’s C is a powerful programming tool, packed with all the
essentials of the famous Mark Williams C Programming System. The one chosen by Intel, DEC, Wang
and thousands of professional programmers. The one that wins the
benchmarks and die reviewers’ praise:
“(This compiler) has the most professional feel of any package we tested.. ."—BYTE
“Of all the compilers reviewed, (it) would be my first choice for product
development.”—David W. Smith, PC WORLD
And now for more big news. Get our revolutionary csd C Source
Debugger for just $75, too.
Use this coupon or charge by calling toll-free: You can breeze through
1-800-MWC-1700. In Ill. call 312-472-6659. . . ~ ^
debugging at the C source
level ignoring clunky
assembler code.
Affordable, powerful,
debuggable. Mark Williams
Let’s C is the big name C
compiler at a price you can
handle. Get your hands on
it now.
Mark Williams Let’s C
• For the IBM-PC and
MS-DOS
• Fast compact code plus
register variables
• Full Kernighan & Ritchie C
and extensions
• Full UNIX™ compatibility
and complete libraries
• Small memory model
• Many powerful utilities
including linker,
assembler, archiver, cc
one-step compiling, egrep,
pr, tail, wc
• MicroEMACS full screen
editor with source
• Supported by dozens of
third party libraries
• Upgradeable to C
Programming System for
large scale applications
development
Let’s C Benchmark Done on
an IBM-PC/XT, no 8087.
Program: Floating Point
from BYTE, August, 1983.
Exec Time in Seconds
Let’s C 134.20
MS 3.0 347.45
ORDER NOW! 60-DAY MONEY BACK GUARANTEE!
Mark Williams Let’s C
Please send me:
_copies of Letfc C and_copies of csd (C Source Debugger)
at $75 each. (Ill. residents add 7% sales tax.)
□ Check □ Money Order □ Visa, MasterCard or
American Express
Name_
City_
- Zip-
. Exp. Date-
Signature-
Mark
Williams
Company
1430 West Wrightwood
Chicago, Illinois 60614
© 1985 Mark Williams UNIX is a trademark of Bell Labs.
CIRCLE NO. 205 ON READER SERVICE CARD
Perfect Windows,
Powerful Data Entry,
FULLY Integrated .
For Effortless
Data Entry Windows!
• Complete input formatting
• Unlimited Validation
• Full attribute control
• Field sensitive application help system
• Multiple virtual windows
• Fully automatic, collision proof overlay
and restore
• Print to & scroll background windows
• Animated window "zoom”
• Move, grow, shrink, hide, or show
any window
• ’’Loop function" allows processing
while awaiting input
and much much more!
Designed to increase your productivity
and help you produce superior applica¬
tions in dramatically less time! Includes
100% source, tutorial, reference manual,
examples, and sample programs.
Specify Microsoft,
Lattice, Computer C O
Innovations, Aztec, ^
or Mark Williams. Ask about Unix.
.95
NOW... VCScreen !
Our new interactive screen "painter"
actually lets you draw your data entry
windows! Define fields, text, boxes &
borders. Move them around. Change
attributes. Then the touch of a button
generates C source code calls to the
Vitamin C routines! Now, your screen
designs will be faster and more pleasing
when they are created with VCScreen!
Requires Vitamin C lib- $ 99.95
rary above. For IBM & compatibles.
For Orders Or Information ,
(214)245-6090
Creative Programming Consultants
Box 112097 Carrollton, TX 75011-2097
Include $3 ground, $6 air, $15 overnight
shipping, $25 if outside USA. Texans add
6% tax. All funds must be in U.S. dollars
drawn on a U.S. bank.
LETTERS
’’choose another screen” menu. Hierar¬
chical menus are the bane of good user
interfaces: a transaction must never be
spread over two screens if one will do.
Two aspects of Q-PR04, the source
file editor used in the FB utility and the
below-average performance of the file
structure, were criticized, and rightly so,
but they are no longer a problem. A
new file structure was debuted in
January: a self-balancing B-tree.
In addition, a colleague and I
recently brought out a utility through
which a user may program in his favor¬
ite editor. Called QUTE, it is faster than
using FB. This utility can take apart the
old FB format into screen fields and
ASCII parts, put them back together
after editing, find unpaired constructs,
and clean up indentation inconsistency.
Other utilities for Q-PR04 are cur¬
rently on the market, including XREF
and QLINT. Q-N-E International also
produces an author’s package to
encrypt source code, a nice touch.
I look forward to many more years
of subscription to your magazine.
Richard Pearlman
Indefinite Energy
New York, NY
With the data manager series , we try to
give our readers a feel for the applica¬
tion style that naturally follows from
the strengths and weaknesses of each
product. It is true that menus are not a
requirement of a Q-PR04 application.
Q-PR04’s ability to work with menus
quickly and on a field-by-field basis
distinguishes it from other products re¬
viewed in the series. We want our read¬
ers to understand that in their selection
of products for various tasks.
Q-N-E International released
Q-PR04 4.0 in January> with the revised
program and index organization to
which we referred at the conclusion of
our article. The new release uses DOS
file handles , so that paths and explicit
subdirectory / references can be used.
With these improvements, Q-PR04 has
completed its migration to the PC envi¬
ronment. No changes in source code
are required. As Mr. Pearlman points
out, various support utilities are avail¬
able, several from Q-N-E International,
and others from user groups.
—Chris Christian
LEGAL WRITES
This is a short fan letter to say how
much I have enjoyed Max Stul Oppen-
heimer’s column in PC Tech Journal.
His February 1986 article (“The Total
Solution,” Legal Brief, p. 193) certainly
hit home. As a computer consultant spe¬
cializing in turnkey CAD systems using
the AutoCAD software package, I fre¬
quently face the problem of customers
who wish to purchase their systems in a
piecemeal fashion, while expecting total
support from us as the vendor of the
main piece of software used. I am sure
you can understand why I find this un¬
fair: it forces me to take up the burden
of supporting equipment on which I
was not allowed to make a profit. Such
a profit is my compensation for that
support. As such, I obviously am inter¬
ested in having my customers purchase
as much of their systems from me as
possible. A turnkey solution works—a
piecemeal one may not.
Let me state categorically, however,
that I am not in the “you must buy your
plotter pens from me” school of VAR-
ship. I merely note that when a VAR ex¬
presses his fear that an uneducated user
accidentally will cripple a system, giving
as his reason his concern that the user
will not be able to contend with “the
complicated interrelationship of hard¬
ware and software,” he is speaking the
absolute truth. What is more, increasing
sophistication of present-day users not¬
withstanding, I do not believe that most
of my customers could purchase all the
components I have provided off the
shelf and configure them into a work¬
ing system. The qualification, of course,
is that I deal in a highly sophisticated
and particular piece of software; config¬
uring a Lotus 1-2-3 system is an easy
task by comparison.
Once again, let me thank you for
producing such an informative and
enjoyable column. I am not aware of
any other publication that consistently
provides a column that is devoted
exclusively to the legal issues of the
microcomputer world. I find the legal
perspective fascinating.
Matt Richard
Premier Design Systems, Inc.
Baltimore, MD
LAN SCOPES
In the January 1986 Directions column,
“The LAN of IBM” (p. 9), I got the im¬
pression that Will Fastie was intimating
that IBM had capitulated to its custom¬
ers’ demands that the RF broadband
technology of its PC-Network be aban¬
doned in favor of the baseband commu¬
nications technology of the IBM Token-
Ring Network. A little research into the
history of IBM involvement with net¬
works reveals that, in 1983, IBM submit¬
ted five papers to the IEEE 802 Commit¬
tee on local area networks. They were:
22
PC TECH JOURNAL
Hercules compatible graphics:
720x348.
Plantronics compatible graphics:
640x200x4 colors.
Introducing The Paradise
Hi-Res Graphics Card.
Two Upgrades
For The Price Of One.
Now you can have much higher you choose, the Paradise Hi-Res
resolution than your current video Graphics Card gives you full corn-
card gives you. Without buying new patibility with standard video modes,
software. Or an expensive monitor. Better yet, you can use your exist-
All you need is the new Paradise ing software to its best advantage.
Hi-Res Graphics Card. Because Hercules and Plantronics
It gives you the highest resolution graphics are widely supported by
possible on a standard monitor. packages like Lotus 1-2-3, Sym-
With monochrome displays, you get phony, Framework, and lots more.
Hercules compatible 720x348 And Paradise gives you all this, plus
graphics. With RGB and composite a parallel port. On one short card,
displays, you get Plantronics com- If you’d like to know more, we’ll
patible graphics: 16 colors in 320 x send you full information. Including
200, and 4 colors in 640x 200. That’s a free Hi-Res software compatibility
two upgrades for the price of one. guide. Just call (800) 527-7977,
And no matter which monitor Ext. 252, toll-free. From California,
Trademarks: Paradise, Hi-Res Graphics Card-Paradise Systems Inc.; Lotus 1-2-3, Symphony-Lotus Development Corporation;
Symphony, Framework-Ashton-Tate, Inc. Registered trademark: IBM-International Business Machines Corp.
CIRCLE NO. 230 ON READER SERVICE CARD
(800) 822-2020, Ext. 252. Or check
it out at the best PC dealers.
PARADISE
SYSTEMS, INC
The Paradise Hi-Res Graphics Card
LETTERS
“Ring Network Topology for Local Data
Communications,” “Token-Ring Local
Area Networks—A Perspective,” “A
Token-Ring Architecture for Local Area
Networks,” “Local Area Networking and
Higher-Level Protocols: An SNA
Example,” and “Local Area Network
Media Selection for Ring Topologies.”
IBM also published “Local Area
Networks: A Review” in September 1983
and “An Introduction to Local Area Net¬
works” in July 1984. IBM has made its
intentions known for years. It is obvious
from reading these publications that
IBM intended on developing and
marketing a token passing, star-wired,
baseband local area network.
The development of fiber optics
transmission lines will give the base¬
band network the speed of a broadband
network while retaining the reliability
and cost effectiveness that is associated
with a baseband LAN.
Cliff K Fujii
Nellis Air Force Base
Las Vegas, NV
We are familiar with all the papers you
quote and with IBM's long-standing re¬
search into token-ring technology. How¬
ever, not all IBM research projects come
to commercial fruition, and broadband
technology seems to offer many advan¬
tages, especially for a company inter¬
ested in telephone systems.
It is the multichannel capability of
broadband, whether wired with copper
or glass fiber, that distinguishes it from
baseband and gives it an order-of-mag-
nitude greater bandwidth. And it is the
multichannel capability of broadband
that allows data, voice, and video to
share the same physical medium.
I doubt that IBM ever can be
forced to “capitulate. ” I am quite sure,
however, that IBM always will be re¬
sponsive to its customer base whenever
it speaks with a single voice. It would
appear that customer base simply was
not quite ready for broadband but was
very ready for integration of data net¬
works into existing telephone wiring.
—WF
AVERSION AGO
This letter is written in reference to
“INLINE Interrupts” by Charles C.
Edwards in the December 1985 issue of
PC Tech Journal (Programming Prac¬
tices, p. 181). While Borland’s docu¬
mentation may have been wrong in
older editions, it seems to be correct in
the second edition, June 1985 printing
of the Turbo 3.0 manual.
The in-line instructions given for
interrupt routines on page 214 of the
manual save and restore the DS regis¬
ter, and correctly take SP and BP off the
stack before the IRET instruction. They
differ from the article’s recommenda¬
tion only as to the order in which the
registers are placed on the stack.
With regard to accessing global
variables, page 215 states: “The way to
access global variables in the interrupt
service routine is therefore to store the
value of Dseq in a typed constant in the
main program. This typed constant then
can be accessed by the interrupt han¬
dler and used to set its DS register.”
Mr. Edwards is quite right, though,
in advising that you should take any¬
thing you read (including this letter)
with a grain of salt.
John W. Spalding
Atlanta, GA
Mr. Spalding is correct in pointing out
that the Turbo 3 0 documentation con¬
cerning interrupt handling is much
improved over 2.0, although it is still
difficult for a novice to understand.
My article was written when 2.0
was the most current version of Turbo.
I am sure Mr. Spalding can appreciate
the hours that went into getting this fea-
The COBOL dinosaur flies ♦..
.. .some people compare COBOL and its applications to a dinosaur. Well Micro Focus has succeeded in
putting wings on the dinosaur and now he’s entered a new generation. If you’d like to know
how the new dinosaur can help you then just ask about Micro Focus’ pioneering
range of powerful compilers, productivity
tools and integrated programming ^
environments, such as VS •:
COBOL Workbench-
and then watch your r y.
productivity take off!
h $r*f
-ir r/
~v
MICRO FOCUS
2465 East Bayshore Road, Palo Alto, CA 94303
Telephone: (415) 856^4161
V
"'A
Yes, Pm interested in the widest range of development products for PCs.
Single-user_ Multi-user_ PC DOS_ Unix_ Other_
Programmer Workstations:
□ VS COBOL Workbench
□ Professional COBOL
Compilers:
□ VS COBOL Compiler
□ VS COBOL for Unix
Development Tools:
□ ANIMATOR
□ FORMS-2
□ CO-Graphics
□ CO-Maps
□ CO-Math
Name_
Title _
□ High Performance Level II COBOL Application Generator:
□ Level II COBOL/ET □ Sourcewriter
□ Mac COBOL
Company
Address_
City.
. State _
.Zip.
Send to: Micro Focus Inc., 2465 East Bayshore Road, Palo Alto, CA 94303
PCT 6/86
Level II COBOL, VS COBOL Workbench, ANIMATOR, FORMS-2, Professional COBOL, CO-Maps, Mac COBOL and CO-Graphics, are trademarks of Micro Focus Limited. micro/SPF is a registered trademark of Phaser Systems Inc. Sourcewriter is a trademark of Softwright Systems Limited.
24
CIRCLE NO. 154 ON READER SERVICE CARD
PC TECH JOURNAL
So you can sort a data
■F base, write a letter using your
favorite word processing appli-
cation, total a spreadsheet and print
a report...all at the same time. No
other expanded memory product
ll^aialitechv'v Iflfl
The people at PC Week, a leading
news publication for the PC industry
think our RAMpage! solution is sig-
hffictehiAfe know you will, too.
To receive our special infor¬
mation package describing AST’s
RAMpage! solution, call our Cus-
RAMpage* registered trademark of AST Research, Inc IBM registered
; trademark of international Business Machines Corp. DESQview
trademm&tif Office Systems, lotus 1-2-3 and Symphony
; trademarks oi lotus Development Corp The Lotus logo is
usedbyjtermiNsidn of Lotus Development Corp The Rampage’
^Expanded Memory Board has succ^sfullv passed compatibility
testing with 1-2-3 Release 2 and with Symphony i.l on an IBM XT
with FC-DOS 3 # Hw> megabytes of memory were installed
;tMASEan^Fmme#trk trademarks of Ashton-late.
" Copyrighff>A^TReseaf^f^ 1986, Affrights reserved
CIRCLE NO. tW ON READER SERVICE CARD
tomer Information Center today
( 714 ) 863 - 1333 . Or complete this
coupon and send it to AST
Research, Inc., 2121 Alton Avenue,
Irvine, California 92714. :
When we introduced our
RAMpage!® solution for IBM®
we had a Winning product. It repre-
ment, combining two megabytes of
expanded memory with innovative
immediately: J
use your increased memory power
The resulting solution greatly j
improves productivity and is adapt¬
able toanybusinessenvironment.
The most powerful expanded
and its advanced DESQview™ soft- ;
ware allow you to run multiple appli¬
cations simultaneously, using your
versions of Lotus 1-2-3* Symphony*
dBASE™and Framework™
PC Week
_ Flashy
Programs.
teosunt *:
SiIkwi;
Tciia’i l«tt:
Cwjlttiy. fat i
Irwic# S«t:
fet«f kU ir.to tfce fields «KiIs & ^ s*s
it fan. k «5t «rfy atat aging j s:st&,
ill iata is ONKfecUi ss it is
It is •fe?i-ss:ti« ts ?*i*■ sriib 1
?Wt hetiwi: I
dBASE • Turbo Pascal • BASIC • C • COBOL • Fortran • Lotus 1-2-3...
FLASH CODE™
The most powerful program developer for
dBASE II and dBASE III ever developed.
DRAW any screen design with our advanced
screen editor. Use Flash Code and see
how incredibly easy screen design can
be.
GENERATE complete programs automati¬
cally. Based on your screen designs,
Flash Code can write your whole
dBASE program.
FLASH-UP WINDOWS™. Menus and Help
Windows add a new dimension to your
dBASE programs. Create them instantly
with our window editor. Use the
FlashUp™ module to have windows
pop-up throughout your dBASE applica¬
tions.
For dBASE II and dBASE III. $150.
“...a truly remarkable product. Brand-new,
state-of-the-art and actually fun to use. The
windows make it an even more amazing
product. ”
Cary N. Prague, Author
“Beyond programming with dBASE III ”
“Destined to replace QUICKCODE™”
MicroNewsA/lews, Nov. 85
SCREEN SCULPTOR™
You can create screens in minutes...then
Screen Sculptor writes the program.
Move pieces of the screen around, select
colors from a menu, draw boxes and lines,
paint, repeat last character in any direction.
And more!
Specify variable names, data types,
acceptable data ranges, pictures for edit
checking, etc.
Screen Sculptor then generates an actual
program source code based on your screen
design. Use it as is or modify it.
For BASIC, Turbo Pascal, IBM/Microsoft
Pascal. $125.
“...so well done that you may not need to
refer to the manual. ”
“...an exceptional product that fills a real
need in the development of new programs. ”
Computer Language
NEW!
FLASH-UP WINDOWS™
An incredibly flexible and powerful
tool for Flash-Up M Menus and Flash-
Up Help Windows!
Every program, every applica¬
tion becomes more sophisticated
and easier to use with Flash-Up
Windows.
Use the window editor to
instantly create windows. Change
their size, location, color...all auto¬
matically. Specify a string of char¬
acters or control codes to send
back to your application program.
The windows can be flashed-up
directly by your program OR by the
user with the keyboard. Windows
can even call other menus or help
windows.
An absolute necessity for
BASIC, Turbo Pascal, C, R:BASE,
COBOL, Fortran, dBASE, Lotus 1-2-3.
Introductory price. Only $75.
(Until 3/31/86)
CIRCLE NO. 192 ON READER SERVICE CARD
No Risk Demo Offer!
Here’s a no-risk offer. Order now and
you’ll also get a full demo disk. Use the
demo and the manual for 30 days. If you
don’t love it, return the package for a full
refund.
Credit card orders call 24 hrs/day
1(800) 824-7888, operator 268.
All other orders and inquiries call or write
Software Bottling Co., 6600 L.l. Expwy,
Maspeth, NY 11378. 718-458-3700.
THE
SOFTWARE
BOTTLlflG
compftnv
OF NEW YORK
Requires an IBM PC, XT, PC AT or true compatible, 256K
LETTERS
ture to work, considering I was using
erroneous documentation.
Also, although the 3.0 manual does
mention storing DS in a typed constant
for use by an interrupt procedure, it
does not show how to fetch this value
when the interrupt occurs. Because one
of the reasons for working in high-level
languages such as Pascal is to avoid the
vagaries of machine language, this is
an unpardonable oversight. Perhaps
this, and the lack of a working example
of such a powerful feature, will be rec¬
tified in a future version.
The explanation of the use of inter¬
rupt procedures and the example put
forth will be helpful to readers still
using earlier versions of Turbo.
—Charles C. Edwards
CALLing BASIC
Your readers might be interested to
learn about an important difference
between the Microsoft QuickBASIC
compiler and the more expensive IBM
BASIC compiler. I use both and was
very surprised to find that among the
unsupported statements in QuickBASIC
were BSAVE, BLOAD, and absolute
CALLs. The absolute CALL is of particu¬
lar concern. Many small machine lan¬
guage routines are BLOADed or POKEd
into memory in many BASIC programs,
and then CALLed at the address loaded.
This is impossible in QuickBASIC,
though IBM allows it.
Microsoft’s only answer to this
problem is that it was impossible to
execute an absolute CALL because its
compiler uses a relocatable runtime
module. If that makes it impossible,
then how did IBM do it?
Microsoft claims in the media that
except for Indexed File supports and
large arrays, its QuickBASIC is com¬
pletely compatible with the IBM ver¬
sions. It ain’t necessarily so.
Jay Cooprider
President
Software Dynamics Corporation
Oklahoma City, OK
True enough, IBM supports absolute
CALLs and Microsoft does not. Neither
compiler uses memory> the same way as
BASICA, of course, so it is a tricky busi¬
ness to translate such CALLs. Both ven¬
dors suggest alternate methods: Micro¬
soft suggests assembly language rou¬
tines be linked in after compilation;
IBM advises loading an assembly lan¬
guage-routines hex code into an inte¬
ger array and executing it from there.
—DB
cof$ n
BACKS UP PROTECTED
SOFTWARE.
The backup insurance you need to
protect your software investment,
COPY II PC makes a floppy backup of
most protected software quickly and
easily. (We update COPY II PC regu¬
larly to handle new protections; you as
a registered owner may update at any
time for $15 plus $3 s/h.)
RUNS PROTECTED
SOFTWARE FROM YOUR
HARD DISK.
COPY II PC makes using your hard
disk as convenient as it should be. No
longer will you have to keep your floppy
disk in drive A with some of the most
popular business software. Call for
current list.
MINIMUM
REQUIREMENTS:
IBM PC, XT, AT, 256K jr and most
compatibles. One or two disk drives.
128K memory (all available memory
fully supported).
Call 503/244-5782, M-F, 8-5:30 (West
Coast time) with your h F^ff: in hand.
Or send a check for
$39.95 U.S. plus $3 s/h, $8 overseas.
$39.95
Central Point Software, Inc.
9700 S.W. Capitol Hwy. #100
Portland, OR 97219
Central Point
Software
J INCORPORATED
Backup utilities also available for the Macintosh, Apple II and Commodore 64/128.
PC TOOLS NOW
AVAILABLE!
Put all the most popular disk utilities
(even undelete) together with a powerful
DOS interface. Then make them
resident and you have PC Tools.
PC Tools lets you run nearly any DOS
command within any other
running program. Just $39.95 plus s/h.
CIRCLE NO. 213 ON READER SERVICE CARD
Make your PC or AT into a
COMMUNICATING WORKSTATION
for only $85
Use ZAP, the Communications System for Technical Users
COMPLETE Communications for PROGRAMMING and ENGINEERING
EMULATION of graphics and smart terminals is combined with the ability to TRANS¬
FER files reliably, CAPTURE interactive sessions, and transmit MESSAGES while
also being able to swap between your mini or mainframe session and your PC application.
SUSPEND a line to run a PC application. Reconfigure features to fit the communications
parameters and keyboard requirements of the host computer software. Complete technical
documentation helps you understand and fit ZAP to your style.
HIGHLIGHTS OF ZAP:
• Emulate TEKtronix 4010/14 and DEC VT 100,102, 52 including
variable rows and columns, windows, full graphics, and smooth scrolling.
• Reliable file transfer to/from any mainframes and PCs including KERMIT and
XMODEM protocols plus you get a full copy of KERMIT. Transfer speeds ranging
from 50 to 38,400 BAUD. Session control include printer dumps and save to
disk.
• MACRO and Installation files (‘’scripts”) controllable by you.
• EMACS, EDT and VI “Script” files are included. ZAP is also used with other popu¬
lar software including graphics products like DISSPLA and SAS/GRAPH.
• CONFIGURABLE to communications, terminal features on the “other end”; 1, 2
stop bits; 5,6,7 or 8 data bits; parity of odd, even, none, mark and space; remap all keys
including the numeric pad and standard keyboard, set any “virtual” screen size.
• Full PC/MSDOS access to run any command or program that will fit in your systems
memory. ZAP takes less than 64K.
• 9 Comm ports are supported by ZAP. Plus full color in text and graphics make use of
the IBM color, EGA cards, or Hercules Monochrome.
ONLY
$85
-Solution
Systems
335-P Washington St
Norwell, Mass. 02061
617-659-1571
800-821-2492
CIRCLE NO. 130 ON READER SERVICE CARD
JUNE 1986
27
LAN REPORT4
Choosing a LAN System.
New Report Outlines Steps For LAN Evaluation.
Choosing the best local area net¬
work hardware for your particular
installation is often a bewildering
process. There are many options
and few evaluation tools.
A new report developed
by Novell, Inc., is designed
to offer help. The study,
LAN Evaluation Report
1986, examines all of the
hardware issues that affect
LAN performance. It in¬
cludes an analysis of many
LAN products and a series
of benchmark tests.
A key element of the study is
the addition of an evaluation
system. The system provides
a mechanism for matching
site needs to specific hard¬
ware. Whether a new net¬
work is being planned or an
existing site is being up¬
graded, the study will be useful in
the performance evaluation of any
proposed network. As a network
operating system developer and
system reseller, Novell has experi¬
ence with LAN products from sys¬
tem support through installation
and day-to-day operation. Novell's
NetWare® network operating sys¬
tem supports 30 different LAN con¬
figurations including the NETBIOS-
compatible LANs. Information in
the LAN Evaluation Report 1986 is
based on that experience.
LAN Hardware Choices.
LANs are highly modularized
architectures. The rich assortment
of available LAN components
provides flexible building blocks
with which to customize networks.
System planning starts with the
LAN hardware: the network inter¬
face card (NIC) and cabling. Per¬
The IBM Token Ring Network is
also analyzed; however production
NICs were not available at the time
the report was written and could
not be included in the benchmark
tests.
"The LAN Evaluation
Report 1986 includes an
analysis of many
LAN products as well
as a series of
benchmark tests."
The report analyzes each
NIC according to its access
scheme, raw bit rate, on¬
board processing, and
NIC-to-host transfer
method.
NICs divide information
into message units called
packets, transmit the
packets at a certain speed,
and manage the trans¬
mission and receipt of
those packets. In other
words, NICs implement a
hardware protocol.
sonal computers and other
machines are attached to a LAN
by plugging the NIC into the PC
expansion bus and attaching the
LAN cable to the NIC.
LAN hardware systems analyzed
in the study are:
•AT&T StarLAN
• Corvus Omninet
• Davong MultiLink
• Gateway G-Net
• IBM PC Network
• Interactive Systems LAN/PC
• Nestar PLAN 2000
• Novell S-Net
• Proteon ProNET
•Standard Microsystems ARCNET
• 3Com EtherLink
•3Com EtherLink Plus
One of the points made in
the analysis and benchmarks is
that the way a protocol is im¬
plemented is often more significant
to performance than the protocol
itself. Many LAN vendors are ac¬
tively modifying their NIC designs
to improve performance without
any change in the basic protocol.
Network Servers.
The network server manages all
network requests and data storage
functions. Because of this, the
server plays a key role in LAN per¬
formance.
Servers come in many different
configurations and designs. Some
are proprietary boxes that were
LAN REPORT 4
specifically designed as servers.
Others are personal computers
that are functioning as servers.
The LAN Evaluation Report 1986
analyzes and tests the following
servers:
•IBM PC XT
•IBM PC AT
• Novell S-Net
• 3Com 3Server
• Novell 286A and 286B
Processor type is the most obvious
difference among these
machines. They use the
Intel 8088, Intel 80186,
Intel 80286 or Motorola
MC68000. But other fac¬
tors are also important in
determining server perfor¬
mance, including proces¬
sor clock cycle speed, wait
states, server memory
cycle speed, memory
channel, and transfer bus
channel. All of these factors
determine the speed at
which data is moved and
processed.
NetWare Evaluation System.
The LAN Evaluation Report 1986
contains the NetWare Evaluation
System. While benchmark measure¬
ments are part of the system, they
are designed to be used only as
input in the evaluation formula.
The first of the two benchmarks is a
measurement of maximum through¬
put for a LAN/server combination
with a single workstation.
The second shows the maximum
working bandwidth for a fully
"The NetWare
Evaluation System provides
an excellent method of
LAN performance
comparison/'
results and site profile are applied
to a formula which shows the
throughput of the proposed system.
Answers generated by the formula
provide several useful pieces of
information. The results from the
formula should be approximately
the same as the maximum
throughput in a single station test.
If the working bandwidth of the
proposed system is much greater
than the single station throughput,
this indicates that the LAN/server
combination has more
power than can be utilized
by the proposed network.
If the working bandwidth is
much lower than the single
station throughput, it indi¬
cates that the LAN/server
combination will be over¬
burdened.
One of the jobs that a
server handles is sending
data to and from the hard disk. The
speed of the server cannot alter the
speed of thediskchannel. If a disk
channel can handle reads at 160
kilobytes per second, a faster pro¬
cessor isn't going to change that
figure.
A faster server, however, can
change the percentage of proces¬
sor utilization for specific servers.
High-performance servers use less
of the processor's time for specific
operations, freeing the processor to
perform other tasks. The result is
increased performance.
loaded network. In this test, six IBM
PC AT workstations were attached
to the various LAN/server combi¬
nations. The network was driven to
its maximum traffic capability.
Throughput results from all stations
were totaled to show the maximum
bandwidth of each network.
A formula for workstation usage is
then developed based on specific
values for a particular site. Five
categories of network users are
defined and used in establishing
this site profile.
As a final step, the benchmark
The evaluation system also
provides a method of
performance comparison.
Desired performance is
usually expressed in terms
of floppy or hard disk
speed. The study contains
data on the standalone
workstation performance
of the IBM PC AT and XT with both
floppy and hard disks. Using these
figures, the formula's results can be
compared to desired throughput.
Read the Full Report.
The LAN Evaluation Report 1986 is
available free of charge from
Novell. To obtain a copy, call
or write Novell Corporate
Communications, 748 North
1340 West, Orem, Utah 84057,
(801)226-8202.
m
CIRCLE NO. 166 ON READER SERVICE CARD
MICROSOFT LANGUAGES NEWSLETTER Vol. 1, No. 6
News about the Microsoft Language Family
Your Microsoft® FORTRAN Programs Can Call Microsoft C Library Routines
Microsoft FORTRAN s long-established history includes powerful scientific subroutines drawn
from a vast user community. Microsoft C has a rich operating systems background, strong string
and bit manipulation support, and growing strength in the program portability arena. The following
demonstrates how easily one can call C functions from a FORTRAN program.
Spawnlp creates and executes a child process. In this example, we suspend the parent program
while the child program executes. When the child program terminates, the parent program
resumes execution.
Spawnlp is declared in C as follows:
int spawnlp (mode, path, argO, argl,..., argn)
int mode; char *patn, *argO,..., *argn;
We declare the interface to FORTRAN with this program fragment:
integer*2 spawn
interface to integer*2 function spawn [c, varying, alias: ‘spawnlp’] (mode)
integer*2 mode
end
Spawn is the function name we will use from FORTRAN. We declare the return type of spawn to be
integer*2. [c] indicates the C language, [varying] tells that a variable number of arguments may be
passed. An [alias] is used because the C name for the function spawnlp has 7 characters; names in
FORTRAN are only significant to 6 characters. The string arguments are undeclared in the interface
and assumed to be passed from FORTRAN by value.
The function can now be invoked as follows:
i — spawn(0,loc(‘exemod’c), locfexemod’c), locfdemoexec.exec), int4(0))
The C spawnlp function expects addresses of strings, not actual characters, so we use the LOC()
function. C strings differ from normal FORTRAN strings; we specify these by the “c” after each closing
quote. We use INT4(0) to pass the last parameter, a C NULL pointer (32-bit integer zero).
Starting with the release of Microsoft FORTRAN 3.3, Pascal 3.3, Macro Assembler 4.0, and
C Compiler 3.0, these Microsoft languages are designed so libraries and subprograms written in any
one can be used in any other. Any C routine (not just spawn) can be interfaced to FORTRAN. And
they are supported under both MS-DOS® and XENIX," for additional program portability.
For more information on the products and features
discussed in the Newsletter,
write tot Microsoft Languages Newsletter
16011NE 36th Way, Box 97017, Redmond, WA 98073-9717
Or phonet
(800) 426-9400. In Washington State and Alaska,
call (206) 882-8088. In Canada, call (416) 673-7638.
Microsoft, XENIX and MS-DQS are registered trademarks of Microsoft Corporation.
Latest DOS Versions:
Microsoft C Compiler
3.00
Microsoft COBOL
2.10
Microsoft FORTRAN
3.31
Microsoft Macro Assembler
4.00
Microsoft Pascal
3.31
Microsoft QuickBASIC
1.02
Look for the Microsoft Languages Newsletter every month in this publication.
PRODUCT OF THE MONTH
WILL FASTIE
The Portable II
Compaq has taken the boredom out of IBM
compatibility with its smaller, lighter AT-in-a-suitcase.
T he IBM PC standard for micro¬
computers has done more for the
acceptance of personal computers on
the desktop than anything since Visi-
Calc. For watchers of the computer in¬
dustry, however, it has created a horri¬
ble side-effect: boredom.
Virtually every manufacturer of per¬
sonal computer systems has acknow¬
ledged that adherence to the IBM stan¬
dard is absolutely essential. And that
spells boredom. The desktop machine
becomes a commodity product and pur¬
chase decisions can be safely made
solely on the basis of price. The flavor
of the IBM machine is vanilla and other
machines are just different brands of
vanilla. About the only way to make
vanilla more interesting is to add real
vanilla beans to the mix and charge a
premium price.
Compaq Computer Corporation
brings excitement to vanilla. Its legend¬
ary success needs no repeating here.
The elements of that success are a PC in
a suitcase, a better PC for the desktop, a
better AT for the desktop, and an AT in
a suitcase; these machines are Compaq’s
vanilla beans.
Compaq has now added another
bean. In the middle of the rise of the
laptop, Compaq has (perhaps only for
the moment) eschewed the tiny ma¬
chines in favor of a better version of its
original concept. For the excellence in
both its design and conceptualization,
PC Tech Journal names Compaq’s
Portable II (Model 3) the June 1986
Product of the Month.
If ever there was a PC to fall in
love with, this is it. The Portable II
delivers a full-function AT compatible in
a suitcase that is 30-percent smaller (to
fit under an airline seat) and 17-percent
lighter (just over 26 pounds) than the
other Compaq portables on the market.
Its 80286 processor operates at 8 MHz
but can be adjusted (from the keyboard
and while running) to operate at the
standard AT’s slower 6-MHz rate should
that be necessary for software compati¬
bility. The Portable II comes with
640KB of memory; one 360KB, third-
height diskette drive; one 10MB,
3^-inch, third-height hard disk; a serial
and parallel port; a realtime clock; and
two expansion slots. A memory expan¬
sion option increases memory to 2.1MB
without using a slot. Another Compaq
option takes up one slot and expands
memory to 4.1MB.
The Portable II includes the nine-
inch, dual-mode display of its larger sib¬
lings that delivers high-resolution text
and IBM Color Graphics Adapter (CGA)
compatibility. In graphics mode, colors
are represented by shades of green on
the monochromatic display.
This recitation of facts and features
hardly provides a basis for love, howev¬
er. There is a subjective element to the
Portable II, a feeling that comes on as
the time spent using the machine rises.
This is a responsive, peppy, agile ma¬
chine. It will do a lot of work quickly.
There is no feeling of being on a non-
IBM machine; except for the logo, this
comes as close to matching an AT as is
legally possible.
The Portable II is also beautiful. It
is possessed of clean lines, attractive
styling, and an extra touch of color,
subdued though it is. It looks sharp, but
not threatening. It has been designed.
Perfection in computers is an elu¬
sive goal; a number of criticisms might
be leveled at the Portable II. The most
immediate is likely to be Compaq’s
choice of a 10MB disk instead of the
more standard 20MB. Just after IBM’s
price cuts, Compaq announced its 20MB
Model 4 priced at $4,999. PC Tech Jour¬
nal was unable to obtain a unit for ex¬
amination; if the disk performs like the
Model 3 drive, the Model 4 is the more
desirable version.
At $4,799 the Portable II could be
considered a bit expensive—especially
in light of only 10MB of disk and a CGA
display. Compaq responds that it is sell¬
ing all the machines it can build—a
point hard to argue.
Another, milder complaint con¬
cerns Compaq’s choice of the CGA in¬
stead of the Enhanced Graphics Adapter
(EGA), which seems to be an emerging
standard. With large-scale chips now
readily available, EGA capability might
have been a better idea. However, ac¬
tual work on the machine leaves the
user with the impression of more than
satisfactory graphics for everyday use.
Even a product like Microsoft Windows,
with all of its overhead, runs superbly
on the Portable II simply because the
number of bits that need to be manipu¬
lated for graphics on a CGA is one-sev¬
enth that of the EGA. The 8-MHz pro¬
cessor speeds up those fewer manipula¬
tions and gives Windows the appear¬
ance of achieving far better perform¬
ance than a standard AT can deliver.
One compromise forced on the
Portable II by its smaller size is the key¬
board. The function keys have been
moved to the top, but the keyboard du¬
plicates all the problems inherent in the
AT keyboard. Coincidentally, IBM has
introduced a new keyboard for the RT,
AT, and XT, which solves some prob¬
lems and creates new ones.
None of these criticisms adds up to
a major complaint. The Portable II has
too many features to like. The machine
is destined to be quite popular on the
desktop, just as its siblings have been,
but because it is smaller, faster, and
lighter than other luggables, the Com¬
paq Portable II will also be a favorite
for software demonstrations and the
delivery of full desktop power to out-of¬
office situations.
This machine is a winner. I""—1
Compaq Portable II, Model 3. $4,799
Compaq Computer Corporation
20555 PM 149
Houston, TX 77070
713/370-0670
CIRCLE 353 ON READER SERVICE CARD
JUNE 1986
31
model IBM PC/AT
TECH RELEASES
Hardware, software, and other developments for the IBM PC family
IBM’s XENIX version 2.0
FROM IBM
IBM Corporation has announced the
PC Convertible, the newest and
smallest member of the IBM family. This
full-function PC, which weighs less than
13 pounds, features an 80G88 micro¬
processor and 256KB of user memory.
The Convertible is equipped with an 80-
column-by-2 5-line detachable liquid
crystal display, a built-in 78-key key¬
board with full-size typing keys, and
dual 3^-inch diskette drives. Each dis¬
kette drive has a 720KB capacity, equal
to more than 350 typewritten pages. The
Convertible includes a battery pack and
an AC adapter that can operate the sys¬
tem while simultaneously recharging
the battery pack. $1,995.
A new model PC/AT, also an¬
nounced by IBM, features an 8-MHz mi¬
croprocessor that is 30 percent faster
than previous AT microprocessors. This
latest AT is equipped with a 1.2MB dis¬
kette drive, a 30MB fixed-disk drive, a
serial/parallel adapter card, and 512KB
of user memory, which is expandable to
10.5MB with new memory expansion
options. The new machine comes with
IBM’s 101-key Enhanced PC Keyboard,
which separates the typing area, the cal¬
culator-style keypad, and the cursor and
screen control keys. This AT is compati¬
ble with the PC 3^-inch external
diskette drive. $5,295.
IBM Corporation, Entry Systems Divi¬
sion, P.O. Box 1328, Boca Raton, FL
33429-1328; Contact the local IBM
dealer, 800/426-2468
CIRCLE 337 ON READER SERVICE CARD
The first issue of the IBM Technical
Directory has been released. This
pamphlet lists all technical books and
reference materials produced by IBM
for its family of Personal Computers and
software products. The books and mate¬
rials listed are available through autho¬
rized IBM PC dealers as well as by call¬
ing the toll-free number provided here
and in the pamphlet. Free of charge.
IBM Technical Directory, P.O. Box
2009, Racine, WI53404;
800/IBM-PCTB, or contact the local IBM
dealer, 800/426-2468
CIRCLE 301 ON READER SERVICE CARD
The IBM 3295 Display Adapter at¬
taches the 3295 Plasma Monitor to the
PC, PC/XT, and PC/AT. (The Plasma Mon¬
itor is a large-screen, high-resolution
monitor capable of 160 columns by 64
rows of alphanumeric or 960 columns
by 768 rows of all-points-addressable
graphics. The monitor has a thin profile
and a small footprint.) The Display
Adapter provides applications programs
with two interfaces: first, a monochrome
display interface to provide an 80-by-25
alphanumeric window compatible with
existing programs written for the mono¬
chrome display; second, a low-level pro¬
gram interface that allows new or en¬
hanced applications to use its full-screen
capabilities. $1,495.
Also from IBM comes an advanced-
function, short-card version of its 3278/
79 emulation adapter for the PC. The
adapter enables the PC to emulate an
IBM 3278 monochrome display station
or an IBM 3279 color display station.
Users can transfer files to and from host
systems in 3270 data stream environ¬
ments. Advanced capabilities provided
by the new adapter include multiple
concurrent 3270 sessions and new
connectivity options. $595.
Several new products that enhance
the capabilities of the IBM Token-Ring
Network have been announced. The
Token-Ring Network/PC Network
Interconnect Program provides a
connection between the IBM Token-
Ring Network and the IBM PC Network.
A dedicated PC running only the inter¬
connect program is attached to both
using adapters. This permits devices on
one network to communicate with
devices on the other. $495.
The Token-Ring Network Basic
Input/Output System (NETBIOS)
Program provides a NETBIOS pro¬
gramming interface for the Token-Ring
Network. The program allows applica¬
tions programs to be written for opera¬
tion on both the Token-Ring Network
and the IBM PC Network. $35.
With the IBM Asynchronous
Communications Server Program,
PCs on the Token-Ring Network or the
IBM PC Network can access ASCII appli¬
cations via switched communication
lines. Attached PCs can share this com¬
munication server and its asynchronous
communications lines. $495.
Also available for use with the
Token-Ring Network is the Advanced
Program-to-Program Communica¬
tion for the IBM PC (APPC/PC) This
program supports the SNA applications
programming interface (LU 6.2 and PU
2.1) and allows program-to-program
communication over the IBM Token-
Ring Network as well as synchronous
data link control (SDLC) communication
links. $150.
IBM Corporation, Information Systems
Group, Rye Brook, NY 10573; Contact
the local IBM dealer, 800/426-2468
CIRCLE 302 ON READER SERVICE CARD
Version 2.0 of IBM’s XENIX Operat¬
ing System has been announced. This
version offers many functional enhance¬
ments but maintains binary compatibil¬
ity with programs developed under 1.0.
Version 2.0 supports up to 3MB of
memory 7 , provides dynamic memory
management and protection, includes a
hierarchical hie system and three com¬
mand interfaces, and supports the 80287
coprocessor. The IBM PC XENIX
Operating System Extensions pro¬
vide additional end-user functions in the
XENIX environment that enhance com¬
patibility with other IBM UNIX System V
derivative products. The enhancements
include a full-screen editor with wind¬
owing, a function-key driven user inter-
32
PC TECH JOURNAL
SigmaEGA! by Sigma Designs
IBM PC Convertible
face, UNIX System V accounting func¬
tions, and versatile intersystem commu¬
nication facilities. XENIX 2.0, $429;
upgrade, $299; XENIX Extensions, $475;
upgrade, $235.
Also introduced is version 2.0 of
IBM’s XENIX Software Development
System, which now includes a C lan¬
guage compiler that supports arrays
larger than 64KB and an improved
assembler with macro support and sev¬
eral new library routines and system
calls. $499; upgrade, $299.
Version 2.0 of IBM’s XENIX Text
Formatting System contains extensive
text processing components that sim¬
plify the production of technical reports,
memoranda, formal papers, and docu¬
mentation. $159; upgrade, $99.
IBM Corporation, Boca Raton, FL
33429-1328; Contact the local IBM
dealer, 800/426-2468
CIRCLE 303 ON READER SERVICE CARD
HARDWARE
Intel Corporation has introduced a
group of products that can link host
computer systems into LANs in the
microprocessor development laborato¬
ry. The Open Development Networking
products include OpenNET Network
Resource Manager (NRM), VAX Link
R2.1, and OpenNET PC Link and
Compilengine. This network allows
dissimilar computers and operating sys¬
tems to be joined in a single network.
The NRM is a high-capacity file
server (up to 560MB) that allows any
workstation on the network to gain
transparent access to share files stored
in the NRM’s protected hierarchical file
system. VAX Link R2.1 supports hie copy
and distributed job control between
VAX/VMS R4.2 systems and the Open¬
NET NRM. OpenNET PC Link uses an
add-in EtherNet controller and Open¬
NET software to allow PC/XTs, PC/ATs,
and compatibles to access hies on an
OpenNET server as if the hies were on
the PC itself. Compilengine is a special¬
ized server that imports time-consuming
compilations and link/locates from sys¬
tems on the network through distrib¬
uted job control. Compilengine features
Intel’s OpenNET
an 8-MHz 80286 CPU, a 1MB zero-wait-
state RAM, and a 40MB Winchester hard
disk with a controller that has an 80186
and 32KB of track caching. OpenNET
NRM with 40MB hard disk, $14,995; with
140MB hard disk and 60MB streaming
tape drive, $23,995; OpenNET PC Link,
$1,250; Compilengine, $13,995; VAX
Link, $7,500.
Intel Corporation, Literature Dept.
W274, 3965 Bowers Avenue, Santa
Clara, CA 95051; 800/548-4725
CIRCLE 304 ON READER SERVICE CARD
The PC Supercharger from Dynatec
Systems, Inc. is a speed optimizer that
enables a PC, PC/XT, or compatible to
run at twice its normal operating speed.
Because this small plug-in board uses an
8088-1 microprocessor, it is 100-percent
compatible with a system’s existing
hardware and software. The Super¬
charger is totally transparent to the sys¬
tem and the user. It plugs directly into
the 8088 socket, with no modification to
the system required. All expansion slots
are free for memory, video, and other
peripheral boards. $279.95.
Dynatec Systems, Inc., 870 E. 9400
South, Suite 103-B, Salt Lake City, UT
84070; 801/572-6867
CIRCLE 310 ON READER SERVICE CARD
The SigmaEGA! is a high-resolution
graphics board from Sigma Designs
that incorporates graphics standards for
the IBM Enhanced Graphics Adapter,
the IBM Color Graphics Adapter, the
IBM Monochrome Display Adapter, and
the Hercules Graphics Adapter. The
SigmaEGA! includes 256KB of on-board
standard memory, which enables users
to run all EGA graphics modes without
purchasing supplementary memory
expansion modules. $595.
Sigma Designs, 2023 O’Toole Avenue,
San Jose, CA 95131; 408/943-9480
CIRCLE 305 ON READER SERVICE CARD
A keyboard designed to work with
micro-to-mainframe 3270 emulation
packages has been developed by Key
Tronic Corporation. The KB 3270/PC
Keyboard has a 122-key layout and is
plug-compatible with the PC, PC/XT, and
PC/AT. The KB 3270/PC works with
many 3270 emulation packages, includ¬
ing products from CXI, forte, Attach-
mate, and IRMA. $326.
Key Tronic Corporation, P.O. Box
14687, Spokane, WA 99214-0687;
509/928-8000
CIRCLE 313 ON READER SERVICE CARD
A ring concept LAN is available from Ra-
core Computer Products, Inc. LAN-
pac transfers data at the rate of 2 mega¬
bits per second. It consists of propri¬
etary LAN ring architecture on a plug-in
network interface card and the neces¬
sary cable and connectors. LANpac can
link 250 terminals in any configuration,
with up to 1,000 feet between the
nodes. LANpac offers repeaters that can
increase the distance between nodes up
to 10,000 feet. It runs with IBM PC net¬
work software on the PC, PC/XT, PC/AT,
PC/r, and compatibles. $295 per node.
Racore Computer Products, Inc., 10
Victor Square, Scotts Valley, CA 95066;
800/325-1833; in California,
800/255-7227
CIRCLE 314 ON READER SERVICE CARD
JUNE 1986
33
TECH RELEASES
Paradise Systems’ Short Color Card
The Short Color Card and the Short
Mono Card, both from Paradise Sys¬
tems, Inc., are 100-percent compatible,
short-slot replacements for the IBM
monochrome and color graphics display
adapters. The Short Color Card provides
flicker-free scrolling, eliminating snow,
and displays 25 lines of 40 or 80 col¬
umns. Its character box is 8 by 8 pixels,
and it offers a text resolution of 320 by
200 or 640 by 200. It includes graphic
modes of 320 by 200 with four colors
and 640 by 200 with two colors. The
Short Mono Card offers 25 lines by 80
characters, has an 8-by-14-pixel charac¬
ter box, and provides text resolution of
640 by 350. The Short Mono Card
includes a parallel port. Color Card,
$179; Mono Card, $199.
Paradise Systems, Inc., 21 7 E. Grand
Avenue, San Francisco, CA 94080;
415/588-6000
CIRCLE 307 ON READER SERVICE CARD
Cheetah International, Inc. has an¬
nounced a no-wait state, add-on mem¬
ory board for the PC/AT. The cheetah
card adds 2.5MB of memory per card
and enables the AT to run up to 30 per¬
cent faster. Extra 2.5MB cheetah cards
can be added to a system with the help
CHEETAH CARD by Cheetah International
of Cheetah’s c-disk software: users can
configure a lOMB-plus VDISK in mem¬
ory that runs in a no-wait state. $945.
Cheetah International, Inc., 107
Community Blvd., Suite 5, Longview, TX
75602 ; 800/243-3824;
in Texas, 214/ 757-3001
CIRCLE 306 ON READER SERVICE CARD
IRMA’s FASTLINK internal version
640 Plus from Tecmar, Inc. is a Lotus-
certified memory board that uses a
bank-switching technique to give the PC,
PC/XT, and PC/AT the power to access
memory not normally available under
DOS. Each 640 Plus board adds from
256KB to 2MB; as many as four boards
can be installed in one PC for a total of
8MB. RAM chips can be added to up¬
grade each board. 256KB, $475; 512KB,
$595; 1MB, $995; 2MB, $,1,393.
Tecmar, Inc., 6225 Cochran Road,
Solon, OH 44139-3377; 216/349-0600
CIRCLE 312 ON READER SERVICE CARD
CSS Laboratories, Inc. introduced a
motherboard that upgrades the PC/XT,
equipping it with the power of a PC/AT.
The XT-286 board elevates the mem¬
ory, clock speed, and all other functions
of the XT to AT performance standards.
It incorporates a high-performance,
high-speed 16-bit 80286 microprocessor
into the system and provides 512KB of
on-board memory that can be increased
to 4MB with a memory expansion card.
Standard clock speed is switch select¬
able up to 8 MHz. No special software is
required. Additional features of the XT-
286 include 64KB ROM, which contains
Award Software BIOS, 7-channel direct
memory access, 16-level interrupt, and a
realtime clock. $995.
CSS Laboratories, Inc., 2134 S.
Ritchey Street, Santa Ana, CA 92701;
714/540-4141
CIRCLE 317 ON READER SERVICE CARD
MA Systems has announced two new
products. The pc-at optimizer board
incorporates the control logic process
functions and can be equipped with up
to 2.5MB of RAM. A plug-in to the main
board adds another 2.5MB of RAM; a
second plug-in adds one parallel and
two serial ports. A second optimizer can
be added to boost memory to 10MB; a
third board can boost it to 15MB. The
performer-286 board combines the Intel
80286 included in the PC/AT with a VLSI
chip that emulates the PC’s 8088 proces¬
sor. It carries 640KB of on-board, 16-bit,
high-speed RAM, which increases a sys¬
tem’s speed up to 500 percent. The per-
former-286 is 100-percent compatible
with PC and PC/XT software, pc-at opti¬
mizer with 5MB plus I/O expander,
$2,200; PERFORMER-286, $1,149-
MA Systems, 2015 O'Toole Avenue,
San Jose, CA 95131; 800/543-6546; in
California, 800/223-3276
CIRCLE 318 ON READER SERVICE CARD
Digital Communications Associates,
Inc. (DCA) has announced a new re¬
lease of irma’s fastlink, a modem that
enables users to send information to
other PCs, mainframe computers, and
minicomputers at speeds up to 18,000
bps over ordinary dial-up telephones
without compressing the data. The
modem’s high rate of speed is due to
fastlink’s technology, developed by
Telebit Corporation, which combines
IRMA’s FASTLINK stand-alone version
a multicarrier modulation scheme, digi¬
tal signal processing, and packet tech¬
nologies to provide a dramatic increase
in the rate of transmission over the pub¬
lic-switched telephone network. Data
are transmitted asynchronously with
error-detection and correction capabili¬
ties. Card version, $1,995; stand-alone,
$2,395; upgrades, $99; factory upgrades
by DCA, $250.
Digital Communications Associates,
Inc., 1000 Alderman Drive, Alpharetta,
GA 30201; 404/442-4000
CIRCLE 309 ON READER SERVICE CARD
34
PC TECH JOURNAL
Turbo Pascal and the Turbo Pascal
family give you a perfectly integrated
programming environment and
unbeatable speed, power, and price
T urbo Pascal® is faster than
any other Pascal compiler,
and at only $69.95, a distinctly
better deal. But it offers much
more than speed, power,
and price.
There’s also the complete
Pascal family of products that’s
grown from 1 to 9 products in
just 3 years.
Turbo Pascal is backed by a
complete range of “toolboxes” that
give you most of the programming
tools you’ll ever need.
The Turbo Pascal family is
never static, but is continuously
expanding, with new products
like Turbo Editor Toolbox™ and
Turbo Gameworks.™
The secret of software success is
not merely low price, but top quality,
allied with complete documentation,
like our 400-page reference manual.
All of which are some of the
reasons why Turbo Pascal is clearly
the leader, and the recipient of
awards like PC Week’s “Product of
the Year” and PC Magazine’s
“Award for Technical Excellence.”
And some of the reasons why Turbo
Pascal has now become a de facto
worldwide standard with more than
half a million users.
Turbo Pascal has grown
from a single product 3
years ago to a family
of 9 today
Success breeds success, so the
Turbo Pascal family has flourished.
Your choices now include:
□ Turbo Pascal 3.0 combines
the fastest Pascal compiler with
an integrated development
environment.
□ Turbo Pascal with 8087 math
co-processor support for heavy duty
number-crunching, and/or Binary
Turbo Pascal 3.0
Turbo Pascal with the
8087 support
Turbo Pascal with
Binary Coded Decimal,
(BCD)
Turbo Pascal with 8087
and BCD
Turbo Database
Tbolbox™
Turbo Graphix Toolbox™
Turbo Tutor®
Turbo Editor Tbolbox
Turbo GameWorks
Coded Decimals to
eliminate rounding-off
errors for business
applications.
□ Turbo Database Toolbox is a
perfect complement to Turbo Pascal.
It includes a complete library of
Pascal procedures that allows you to
search and sort data, and build
powerful database applications.
□ Turbo Graphix Tbolbox includes
a library of graphics routines for
Turbo Pascal programs. Lets even
beginning programmers create
high-resolution graphics with an
IBM,® Hercules,™ or compatible
graphics adapter. Does complex
business graphics, ea^y windowing,
and stores screen images to
memory.
Vf! Amazing value! Turbo
Editor Toolbox includes
MicroStar ;™ a full-blown
editor that also does windows!
Turbo Editor Toolbox not only gives you
ready-to-compile source code and a 200-
page manual that tells you how to inte¬
grate the editor procedures and functions
into your programs, but also Includes
UBW! Turbo GameWorks
gives you the games you
can write, rewrite, bend and
amend Turbo GameWorks reveals
the secrets of game design and the
strategies. You’re given source code, a
200-page manual, and the insight
MicroStar, a complete editor with full
windowing capabilities. (You could pay
$100.00 or more for a program like
MicroStar, but you get it free as part of
our Turbo Editor Toolbox.) You can also
use Turbo Editor (which of course in¬
tegrates with Turbo Lightning™) to
build your own word processor!
needed to write and customize your
own irresistible games.
Turbo GameWorks also includes ready-
to-play Chess, Bridge, and GoMoku-an
ancient Japanese game that can divert
you from reality for hours on end.
u Language deal
of the century...
Turbo Pascal
Jeff Duntemann, PC Magazine
Turbo Pascal has got
to be the best value
in languages on the
market today
Jerry Poumelle, BYTE Magazine
This compiler, produced
by Borland International,
is one of the best pro¬
gramming tools presently
available for the PC
Michael Covington, mm
PC Tech Journal
|r □ Turbo Tutor teaches you
step by step how to use Turbo
Pascal, with commented source code
for all program examples on diskette.
Save $109.70 when you
choose the Turbo Jumbo
Pack. 6 different Turbo
Pascal products for only
$245.00!
For only $245.00, you get Turbo
Pascal 3.0 and Turbo Editor Toolbox
and Turbo Tutor and Turbo Graphix
Toolbox and Turbo GameWorks and
Turbo Database Toolbox!
All 6 for only $245.00, which saves
you $ 109.70. This limited offer is
good through September 1,1986, so
act now.
YES!
I want
the best
To order by phone,
or for a dealer nearest you,
call (800) 255-8008
in CA call (800) 742-1133
Copies Product
Price
Totals
_ Turbo Pascal 3.0
$69.95
$ _
_ Turbo Pascal w18087"
$109.90
$ _
_ Turbo Pascal w/BCD n
$109.90
$ _
_ Turbo Pascal w/8087, BCD n
$124.95
$ _
— Turbo Database Toolbox
$54.95
$ _
_ Turbo Graphix Toolbox1
$54.95
$ _
— Turbo Tutor
$34.95
$ _
— Turbo Editor Toolbox'
$69.95
$ _
_ Turbo GameWorks'
$69.95
$ _
_ Turbo Jumbo Pack'
*$245.00
$ _
BORLAND
INTERNATIONAL
4585 SCOTTS VALLEY DRIVE
SCOTTS VALLEY, CA 95066
(408) 438-8400 TELEX: 172373
Outside USA add $10 per copy
CA and MA res. add sales tax $ _
Amount enclosed $ _
Prices include shipping to all US cities.
Carefully describe your computer system:
Mine is: _ 8-bit _ 16-bit
I use: _ PC-DOS _ MS-DOS _ CP/M-80 _ CP/M-86
My computer's name and model is:
The disk size I use is: □ 316' □ 5W □ 8‘
Payment: VISA MC Bank Draft Check
Credit card expiration date /
.ill
i I I i I.
NOT COPY PROTECTED
• • 60-DAY MONEY-BUCK GUARANTEE
Name:
Shipping Address: .
City:.
Telephone:
CODs and purchase orders WILL NOT be accepted by Borland.
Outside USA make payment by credit card or International Postal
Money Order.
*Limited Time Otter until September 1,1986.
**YES, if within 60 days of purchase this product does not
perform in accordance with our claims, call our customer service
department and we will gladly arrange a refund.
Minimum System Requirements:
Turbo GameWorks, Turbo Graphix Toolbox, & Turbo Editor
Toolbox—192K. All other products, 128K.
' IBM PC, PCjr, AT, XT,
and true compatibles.
n 76-6" '
GameWorks; Turbo Editor TbolbcspWoid Wizard; Reflex, The Analyst; SldeKlck SldeklckT^toclntoeh Office Manager, Traveling SldeKlck;
and SuperKey- all of which are trademarks or registered trademarks of Borland International, Inc. or Borland/Analytlca, Inc.
Tbrbo Pascal and Turbo Tutor are registered trademarks, and Turbo GameWorks, Turbo Editor Tbolbox, Turbo Database Tbolbox, Turbo
Graphix Tbolbox, Turbo Lightning, and MicroStar are trademarks of Borland International. IBM is a registered trademark of
International Business Machines Corp. Hercules is a trademark of Hercules Computer Tbch.
Copyright 1966 Borland International. BI-1O06C
CIRCLE NO. 253 ON READER SERVICE CARD
TECH RELEASES
Orchid’s PCturbo 286e (left) and TinyTurbo 286
version 1.1
Two new 80286-based accelerator
boards have been introduced by
Orchid Technology. The no-wait-state
PCturbo 286e uses an 8-MHz 80286
CPU, an 80287 math processor socket,
and a 16-bit internal system bus to
improve overall system throughput up
to 3-5 times in all applications classes.
With the connection of an optional RAM
daughtercard, the PCturbo 286e can
accommodate the Lotus/Intel/Microsoft
expanded memory specification (EMS).
The system includes Orchid’s produc¬
tivity software, which can improve
throughput 10 to 20 times. $1,195.
The TinyTurbo 286 is a half-slot
accelerator board that achieves process¬
ing speeds three times faster than those
of the PC or PC/XT. The TinyTurbo 286
uses an 80826 CPU and plugs directly
into a host computer’s 8088 processor
socket. Because the 80286 processor of
the TinyTurbo, which is equipped with
16-bit on-board bus and an 8KB static
RAM cache, operates independently of,
but in tandem with, the PC, it can access
all system memory, including EMS and
RAM disk. $695.
Orchid Technology, 47790 Westing-
house Drive, Fremont, CA 94539;
415/490-8586
CIRCLE 308 ON READER SERVICE CARD
A hardware/software communications
package designed to facilitate communi¬
cations between LAN systems and main¬
frame computers has been introduced
by Novell, Inc. The NetWare/SNA
Gateway makes it possible for all work¬
stations on a LAN to communicate in a
cost-effective way with a host computer.
It allows one modem to serve as many
as 32 users on the network. The Net¬
Ware SNA/Gateway is a nondedicated
machine attached to the LAN; it must be
a PC/AT or compatible. This computer
maintains communications between the
host and the network. Features include
multiple host sessions, multiple gate¬
ways, emulation features, and a hot-key
capability. The package includes soft¬
ware, the SNA communications card, an
adapter cable, a manual, and eight key¬
board overlays. For 1 to 8 sessions,
$5,530; 1 to 16 sessions, $6,095; 1 to 32
sessions, $7,495.
Novell, Inc., 1170 N. Industrial Park
Drive, Orem, UT 84057; 801/226-8202
CIRCLE 319 ON READER SERVICE CARD
Curtis, Inc. has announced a new ver¬
sion of the romdisk pc eprom disk and
disk drive emulator accessory card. The
pc ro, a read-only version of the rom¬
disk pc, is available in both a single-
sided double diskette (SSDD) equiva¬
lent (180KB) and a double-sided dou¬
ble-density diskette (DSDD) equivalent
(360KB). Another version of the cpc ro
is allows multiple romdisk pc ros or a
PC-1 or PC-2 and one or more cpc ros to
operate in a single computer. The user
programs the eproms on a romdisk pc-i
or PC-2 by copying a master disk to rom¬
disk pc then transferring the eproms to
the romdisk pc ro. After they have been
programmed, multiple copies of the
eproms can be made on a standard gang
eprom programmer, romdisk pc ro ssdd,
$395; dsdd, $495; romdisk pc-i, $495;
romdisk pc-2, $595.
Curtis, Inc., 22 Red Fox Road, St. Paul,
MN 55110; 612/484-5064
CIRCLE 315 ON READER SERVICE CARD
The SpeedPac 286, powered by an
Intel 8-MHz 80286 and coupled with
8KB of on-board memory, increases the
performance of a PC or PC/XT by as
much as 700 percent. This turbo board,
introduced by victor Technologies,
Inc., fits in a half-size expansion slot
and requires no special software. The
SpeedPac 286 is backed by a 60-day
unconditional money-back guarantee
and a full one-year warranty. $595.
victor Technologies, Inc., 380 El Pueblo
Road, Scotts Valley, CA 95066-4269;
408 / 438-6680
CIRCLE 316 ON READER SERVICE CARD
SOFTWARE
Version 1.1 of Paradox has been re¬
leased by Ansa Software. The new ver¬
sion of this relational database incorpo¬
rates a multiple-table update facility to
add or revise data in two or more files
at once from a single form, a full-fea¬
tured applications generator to create
sophisticated database programs without
programming, and new PAL (Paradox
Applications Language) commands that
allow procedures to be stored in binary
form, which results in much faster pro¬
gram loading and operation. Other en¬
hancements include improved memory
use for increased speed and perform¬
ance, an improved procedure for im¬
porting ASCII files, automatic updating
of reports and forms, and access to DOS
from Paradox or PAL programs. Paradox
1.1 is not copy protected. $695; updates
are free to registered users, $19.95 to
nonregistered users.
Ansa Software, 1301 Shoreway Road,
Belmont, CA 94002; 800/547-3000; in
California, 415 / 595-4469
CIRCLE 320 ON READER SERVICE CARD
Arrix Logic Systems, Inc. has an¬
nounced APS/microDCF, a modular
text processing system compatible with
IBM’s mainframe Document Composi¬
tion Facility (DCF). APS/microDCF con¬
sists of three program modules: a text
editor (APS/SPF), a high-performance
text formatter, and a printer manager.
Functional capabilities include multi-
column formats, an automatic table of
contents, a list of illustrations, a back-of-
book index, and referencing of head¬
ings, footnotes, and figures. User-written
macros and logical symbols are sup¬
ported, and text and graphics can be
mixed on a page. $695.
Arrix Logic Systems, Inc., 2465 E.
Bayshore Road, Suite 301, Palo Alto, CA
94303; 800/268-3599
CIRCLE 332 ON READER SERVICE CARD
36
PC TECH JOURNAL
.Reflex; The Analyst upgrades and adds the new Reflex Workshop!
Why running your "business without
Borland’s Reflex and the new Reflex
The best database
around... at any price.
Jean Lockwood,
Computer Retail News
CIRCLE NO. 254 ON READER SERVICE CARD
Workshop is an act of blind faith
uiming a successful
business isn’t something
you can do with your eyes
shut, but no matter what
business you’re in, Reflex"
and the new Reflex
Workshop™ give you all
the tools and views to see
what all the numbers
look like.
Using Lotus 1-2-3 ® or dBASE*
without Reflex is like driving
at night without lights
Products such as 1-2-3 or dBASE
can do the numbers for you, but you
may still not get the picture-simpfy
because they can’t show you
analytical graphs and pictures of
your data, nor can they analyze and
summarize all the information you
manipulate like Reflex cam
man-
bytes of RAM, 32,000 records, and
250 fields per record with the now-
legendaiy “Reflex Lightning Speed.”
Furthermore, Reflex 1.1 with
its EGA support displays 40 lines
of information in its spreadsheetr
style List View, compared to less
than 25 lines displayed by
Reflex gives you five graphic ways of looking at your data,
five different ways of analyzing your information.
The FORM VIEW lets you build
and examine your
y
The REPORT VIEW
allows you to generate
everything from
mailing labels to
sophisticated reports.
You can use database
files created with
Reflex or transferred
from 1-2-3, dBASE,
PFS: FILE, and other
applications.
The LIST VIEW lets you
put data in tabular list
form just like a
spreadsheet.
The GRAPH VIEW gives
you instant interactive
graphic representations.
The CROSSTAB VIEW gives you
amazing "cross-referenced"
pictures of the links and
relationships hidden in your data.
Everyone agrees
that Reflex is the best¬
looking database they’ve
ever seen.
Adam B. Green, InfoWorld
Reflex excels as an
analytical tool... this
program can become
eveiyman’s database
manager.
Frank J. Derfler, PC Magazine
Borland has done it
again.
Sheldon L Richman, H
Washington Post
special
offer*
SPECIAL
offer*
The best Just got better.
Introducing Reflex 1.1
The new Reflex 1.1 with extended
If you already bought Reflex
1 . 0 , get Reflex 1.1 and the
Reflex Workshop for only
$59.95
Because you bought Reflex from
us, you’re “our kind of people.” And
since we’re not the “take-the-money-
and-run” kind of company, you can
upgrade to Reflex 1.1 and the Reflex
Workshop for only $59.95. If you
prefer to simply upgrade to Reflex 1.1,
you can do that for only $ 10.
f Introducing the
? | Reflex Workshop
Only $69.95
A major addition to Reflex, the new Reflex
Workshop gives you a wide range of
analytical tools written for specific
applications. You can use these tools "as
is" or modify them to suit your analytical
and business needs. What you have to
work with right away are 25 different tools:
For Finance/Accounting:
• Business Expense Tracking
• Petty Cash Tracking
• Line of Credit Tracking & Analysis
• Accounts Receivable Tracking & Aging
Analysis
• Purchase Order Entry & Analysis
• Purchase Order Tracking System
• Leasing Inventory Management
• Asset Inventory Tracking
• Cash Management Trial Balance
You get Reflex 1.1 and
the Reflex Workshop for only
$199.95*
Sold separately, the new Reflex
Workshop is $69.95 and Reflex is
$149.95, totaling $219.90-butyou
can get them both for a limited time
only, at an amazing $ 199.95. So act
now, rush to your nearest dealer, call
us, or clip the coupon and put Reflex
1.1 and the Reflex Workshop to work ;;
for you right away!
For Administration:
• Membership Dues Tracking and
Analysis
• Mail List
• Time Management
• Appointment Scheduling
• Applicant Tracking & Inquiry System
• Facilities Planning
For Sales & Marketing:
• Sales Lead Tracking & Analysis
• Store Check Inventory Analysis
• Sales Analysis
• Trend Analysis
• Research Questionnaire Analysis
For Production and Operations:
• Manufacturing Quality Assurance
Tracking
• Assembly Repair Turnaround Tracking
• Commercial Real Estate Tracking
& Analysis
• Project Scheduling
• Product Cost Analysis and Control
4585 SCOTTS VALLEY DRIVE
SCOTTS VALLEY, CA 95066
(408) 438-8400 TELEX: 172373
BORLAND
INTERNATIONAL
\jtJ&
Borland products include Turbo Pascal; Turbo Prolog; Turbo Database Toolbox; Turbo Lightning; Turbo
Graphix Toolbox; Turbo Tutor; Turbo GameWorks; Tixbo Editor Toolbox; Word Wizard; Retlex, The Analyst;
Retlex Workshop; SideKick; SideKick, The Macintosh Office Manager; Traveling SideKick; and SuperKey—
of which are trademarks or registered trademarks of Borland International, Inc. or Borland/Analytica, Inc.
Retlex and Reflex Workshop are trademarks of Borland/Analytica, Inc. dBASE is a registered trademark of
Ashton-Tate. Lotus 1-2-3 is a registered trademark of Lotus Developement Corp. Above Board is a trademark:!
of Intel Corp. RAMpage! is a registered trademark of AST Research Corp. Liberty is a trademark of Quadram
Corp. Hercules is a trademark of Hercules Computer Tech. PFS: file is a registered trademark of Software
Publishing Corp. IBM is a registered trademark of International Business Machines Corp.
Copyright 1986 Borland International BI-1052
YES!
I want
the best
Send me Reflex and Reflex Workshop at:
$ 199 . 96 ’
To order by phone,
or for a dealer nearest you,
call (800) 255-8008
in CA call (800) 742-1133
_ Reflex/Workshop(s) at $199.95" $ _
_ Reflex at $149.95' $ _
_ Workshop at $69.95' $ _
_ Upgrade to 1.1 and Workshop at $59.95 $ _
_ Upgrade to 1.1 at $10.00 $ _
(you must return your disks)
Outside USA add $10 per copy
CA and MA res. add sales tax $ _
Amount enclosed $ _
Prices include shipping to all U.S. cities
t You must have an IBM or true compatible running
DOS 2.0 or later.
My computer's name and model is:
The disk size I use is: □ 3/2' □ 5W
Payment: VISA MC Bank Draft Check
Credit card expiration date /
l ll l I I M I I
NOT COPY PROTECTED
"60-DAY MONEY-BACK GUARANTEE
Name: _
Shipping Address: .
City: _
State:
Telephone:.
CODs and purchase orders WILL NOT be accepted by Borland.
Outside USA make payment by credit card or International Postal
Money Order.
*Limited time offer until September 1,1986
**YES, if within 60 days of purchase this product does not
perform in accordance with our claims, call our customer service
department and we will gladly arrange a refund.
tMinimum System Requirements:
384K—Runs on IBM PC, AT, XT, and true compatibles. IBM
Color Graphics Adapter, Hercules Monochrome Graphics Card
or equivalent.
Reflex works with Intel’s Above Board AT and Above Board/PC,
AST’s RAMpage! and RAMpage! AT, Quadram's Liberty-PC and
Liberty-AT, Tecmar’s 640 Plus, IBM's EGA
and 3270/PC, AT&T’s 6300,
and many others.
R6
Intel Corporation announced dos
pscope, a software debugging tool that
allows users to observe program execu¬
tion at the source code level by using
high-level procedure and variable
names and labels. It provides software
engineers with a symbolic test environ¬
ment for program execution and in¬
cludes source code display, high-level
code patching, and a procedural com¬
mand language. $995; in quantities of
two or more, $795 each.
Intel Corporation, Literature Dept.,
W280, 3065 Bowers Avenue, Santa
Clara, CA 95051; 800/548-4725
CIRCLE 321 ON READER SERVICE CARD
V-EMM, the Virtual Expanded Memory
Manager, from Fort’s Software is a soft¬
ware package that provides a true virtual
memory capability to many programs
that support the Lotus/Intel/Microsoft
expanded memory specification. V-EMM
provides the illusion that more ex¬
panded memory than the amount ac¬
tually installed is available. Up to 8MB of
virtual expanded memory can be pro¬
vided with only a modest amount of
real expanded memory. $89.95.
Fort’s Software, P.O. Box 396, Man¬
hattan, KS 66502; 913/537-2897
CIRCLE 322 ON READER SERVICE CARD
Source Print, a structured formatting
utility that organizes data and clarifies
print-outs, has been announced by Al-
debaran Laboratories, Inc. This utility
for database and computer program¬
ming can format print-outs of source
code in C, Pascal, BASIC, and dBASE n
and hi. A unique structure outlining fea¬
ture draws lines on a print-out to indi¬
cate to programmers at a glance the
overall structure of a program. A print
feature provides automatic indentation
based on block nesting levels. $97.
Aldebaran Laboratories, Inc., 3738 Mt.
Diablo Blvd., Building 312, Lafayette,
CA 94549; 415/283-7084
CIRCLE 326 ON READER SERVICE CARD
A comprehensive library of object-
oriented functions and subsystems for
the C programming language has been
introduced by Phoenix Computer
Products Corporation. PforCe is writ¬
ten in C and assembly language and of¬
fers programmers both high- and low-
level functions that are fully integrated,
optimized, debugged, and ready to use.
High-level functions allow programmers
to manipulate windows, screens of
fields, and Lotus-like menus, and han¬
dles databases as objects. Low-level
functions give programmers complete
hardware control and defaults that can
be changed. PforCe is available for the
Microsoft, Lattice, Computer Innova¬
tions, and Wizard C compilers. $395.
Phoenix Computer Products Corpora¬
tion, 320 Norwood Park S, Norwood,
MA 02062; 617/762-5030
CIRCLE 323 ON READER SERVICE CARD
A software product for computer-aided
mathematics has been introduced by
MathSoft, Inc. With MathCAD, users
can enter and calculate equations, create
plots, and enter and edit text on the
same screen. MathCAD’s simple word
processor style permits the user free¬
form entry, text-like editing of equa¬
tions, familiar keystrokes, and equations
that appear on the screen just as they
would appear in textbooks or on a
blackboard. Single keystroke computa¬
tions result as a single number or plot,
and users can print as a document all
information as it appears on the screen.
MathCAD understands the equations and
automatically presents them in correct
form on screen; it sizes brackets and
fraction bars interactively as the user
enters an equation and places expo¬
nents, subscripts, square roots, and sum¬
mation signs in arbitrarily complex
combinations. $189.
MathSoft, Inc., One Kendall Square,
Cambridge, MA 02139; 800/MathCAD;
in Massachusetts, 617/577-1017
CIRCLE 324 ON READER SERVICE CARD
Microsoft Access version 1.01 is
available from Microsoft Corporation.
New features of this business informa¬
tion access program for electronic com¬
munications include updated custom
menus, a new installation feature for
hard disks, speed enhancements, and
non-copy-protected disks. $250.
Also from Microsoft comes a net¬
working product for its XENIX System
V/286 operating system. Microsoft Net¬
works for XENIX provides networking
and distributed file system capabilities
on computers running XENIX System V
and transparent file sharing with PCs
running DOS in a LAN. Microsoft Net¬
works is being offered to OEMs licensed
for XENIX System V. Pricing is variable;
OEMs should contact the company.
Microsoft Corporation, 16011 N.E.
36th Way, Redmond, WA 98052-6399;
800/426-9400
CIRCLE 325 ON READER SERVICE CARD
Ungermann-Bass, Inc. introduced a
software package that enables PCs to
communicate with IBM and Digital
Equipment Corporation (DEC) host
applications programs, Microsoft Net¬
work-based hie and print servers, and
PC applications via the Ungermann-Bass
Net/One general purpose LAN. The
3270 Personal Connection operates
with the Net/One Personal Connection
Network Interface Unit and the Net/One
NIU-74 to connect PCs to any IBM 3274
controller. When running Model I of
the program, the PC emulates an IBM
3278/79 terminal; a hot key permits tog¬
gling between a host session and a PC
session. Model II enables a user to con¬
nect to multiple IBM host systems, view¬
ing up to four applications simulta¬
neously, or to connect to a DEC host to
run two VT100 terminal sessions at the
same time. Model I, $95; Model II, $595.
Ungermann-Bass, Inc., 2560 Mission
College Blvd., Santa Clara, CA 95052;
408/496-0111
CIRCLE 329 ON READER SERVICE CARD
version 1.01
TECH RELEASES
PforCe library from Phoenix
Aldebaran
Print
38
PC TECH JOURNAL
Turbo Prolog 1.0
Technical Specifications
Programming System Features
Ef Compiler: Incremental compiler gen¬
erating native in-line code and linkable
object modules. The linking format is
compatible with the PC-DOS linker. Large
memoiy model support Complies over 2500
lines per minute on a standard IBM PC.
includes a powerful Interactive M-screen
text editor. If the compiler detects an error,
the editor automatically positions the
cursor appropriately In the source code. At
run-time, Turbo Prolog programs can call
the editor, and view the running program’s
source code.
Ef Type System: A flexible opjectrorlenied
type system Is supported.
Ef Windowing Support: The system
supports both graphic and text wlndowa
Ef Input/Output: Full I/O facilities,
including formatted I/O, streams, and
random access flies.
Ef Numeric Ranges: Integers: -32707 to
32767; Reals: IE-307 to 1E+308
Ef Debugging: Complete built-in trace de¬
bugging capabilities allowing single
stepping of programs.
Turbo Prolog at only:
To order by phone,
or for a dealer nearest you,
Call (800) 255-8008
in CA call (800) 742-1133.
Send me _ Turbo Prolog at $ _
Outside USA add $10 per copy
CA and MA res. add applicable sales tax $ _
Amount enclosed: $ _
This price includes shipping to all US cities
Payment: VISA MC Bank Draft Chet
Credit card expiration date: /
You must have an IBM or true compatible running
DOS 2.0 or later.**
My computer's name and model is:
The disk size I use is: □ 3V7 □ 5W
NOT COPY PROTECTED
*60-0AY MONEY-BACK GUARANTEE
Shipping Address:
Telephone: _
CODs and purchase orders WILL NOT be accepted by
Borland. Outside USA make payment by credit card or
International Postal Money Order.
*YES, if within 60 days of purchase this product does
not perform in accordance with our claims, please call
our customer service department and we will gladly
arrange a refund.
** Minimum system requirements:
IBM PC, XT, AT, PCjr,
and true compatibles
384K BAM ^
wsEm
Step-by-step tutorial, demo programs with source code included!
Borland introduces Turbo Prolog,
the natural language of
Artificial Intelligence^
Prolog is probably the most
powerful computer programming
language ever conceived, which is
why we’ve made it our second
language—and “turbocharged” it to
create Turbo Prolog.'"
Our new Turbo Prolog brings
supercomputer power to your IBM®
PC and introduces you step-by-step to
the fascinating new world of Artificial
Intelligence. And does all this for an
astounding $99.95.
Turbo Prolog is to
Prolog what Turbo
Pascal 9 is to Pascal!
Our Turbo Pascal astonished
everyone who thought of Pascal
as “just another language.” We
changed all that—and now Turbo
Pascal is the de facto worldwide
standard, with hundreds of
thousands of enthusiasts
and users in
universities,
research
centers,
schools,
and with pro¬
fessional program¬
mers, students,
and hobbyists.
You can expect at least the
same impact from Turbo Prolog,
because while Turbo Prolog is the
most revolutionary and natural
programming language, it is also
a complete development environ¬
ment-just like Turbo Pascal.
Turbo Prolog radically alters
and dramatically improves the
brave new world of artificial
intelligence—and invites you into
that fascinating universe for a
humanly intelligent $99.95.
] Even if you've never
^programmed before ,
our free tutorial will
get you started right away
You’ll get started right away
because we have included a
complete step-by-step tutorial as
part of the 200-page Turbo Prolog
Reference Manual. Our tutorial
will take you by the hand and
teach you everything you’re likely
to need to know about Turbo
Prolog and artificial intelligence.
For example: once you’ve
completed the tutorial, you’ll be
able to design your own expert
systems utilizing Turbo Prolog’s
powerful problem-solving
capabilities.
Think of Turbo Prolog as a
high-speed electronic detective.
First you feed it information and
teach it rules. Then Turbo Prolog
“thinks” the problem through
and comes up with all the
reasonable answers—almost
instantly.
If you think that this is
amazing, you just need to
remember that Turbo Prolog is a
5th-generation language—and
the kind of language that 21st
centuiy computers will use
routinely. In fact, you can
compare Turbo Prolog to
Turbo Pascal the way you
could compare Turbo Pascal to
machine language.
You get the complete
Turbo Prolog
programming system
for only $99.95
You get a complete Turbo
Prolog development system
including:
■ The lightning-fast Turbo Prolog
incremental compiler and the
interactive Turbo Prolog editor.
■ The 200-page reference
manual which includes the step-1
by-step Turbo Prolog tutorial.
■ The free GeoBase™ natural
query language database
including commented source
code on disk—ready to compile.
GeoBase is a complete database
designed and developed around
U.S. geography It includes cities,
mountains, rivers, and highways,
and comes complete with natural
query language. Use GeoBase j
immediately “as is,” or modify it
to fit your own interests.
So don’t delay—don’t waste a
second—get Turbo Prolog now
$99.95 is an amazingly small
price to pay to become an
immediate authority—an instant §
expert on artificial intelligence!
The 21st centuiy is only one
phone call away.
BORLAND
INTERNATIONAL
4585 SCOTTS VALLEY DRIVE
SCOTTS VALLEY, CA 95066
(408)438-8400 TELEX: 172373
Other Borland Products Include Turbo Pascal; Turbo Tutor; Turbo Lightning; Turbo Database Tbolbox; Turbo Graphlx Tbolbox;
Turbo Editor Tbolbox; Turbo GameWorks; SuperKey; SldeKlck; SldeKlck, The Macintosh Office Manager; Reflex, The Analyst; and
Traveling SldeKlck—all of which are registered trademarks or trademarks of Borland International, Inc. or Borland/Analytlca, Inc.
Turbo Prolog and GeoBase are trademarks and Turbo Pascal is a registered trademark of Borland International Inc. IBM and AT
are registered trademarks of International Business Machines Corp. Copyright 1986 Borland International BI-1045D
CIRCLE NO. 252 ON READER SERVICE CARD
COB by E-Z GEN
TECH RELEASES
C compiler by Tartan Laboratories
Dynamical Systems, Inc. has released
a software utility intended to speed up
the PC/AT. The AT SpeedFixer Plus
eliminates the disk drive errors that
occur on ATs equipped with frequen¬
cies above 6 MHz. A keyboard speed-up
utility reprograms the chip inside
the AT keyboard to make it faster and
more responsive. The AT SpeedFixer
also provides software for speeding up
the AT hard disk by 50 percent (by
changing the interleave). $39.95.
Dynamical Systems, Inc., 2511
Fulton Street, Berkeley, CA 94704;
800/227-2400, ext. 929
CIRCLE 328 ON READER SERVICE CARD
e-z gen has announced e-z cob, a pro¬
grammer productivity tool capable of
generating COBOL programs for use on
the PC as well as for code generation
and prototyping of host on-line systems,
such as IMS, CICS, and 8180/DPPX. Fea¬
tures of e-z cob include a powerful full¬
screen painting facility that supports
both monochrome and color CRTs, a
reusable code library that permits the
storage of COBOL macros to be used by
e-z cob, user exits that enable a devel¬
oper to include his own code in the
programs, and context-sensitive help
and tutorials during the development
process, e-z cob is designed for use with
REALLA COBOL. $495.
e-z gen, Inc., 1019 Mt. Pleasant Way,
Cherry Hill, NJ 08034; 609/428-0211
CIRCLE 335 ON READER SERVICE CARD
Concept Development Systems, Inc.
has announced Line Plus, an asynchro¬
nous telecommunications software sys¬
tem for computer-to-computer commu¬
nications and remote access. File trans¬
fer protocols include Reliable, XMOD¬
EM, SmartCom, and standard text proto¬
cols. Emulation includes ANSI standard
with full color, IBM 3101, DEC VT100/
102, DEC VT52, DG Dasher D220 with
full color, Televideo 912, LSI ADM3A,
TTY, and a special 25-line color termi¬
nal. Line Plus also enables a user to
connect an office PC to a PC at home.
Single user version, $199. Site and
corporate licenses available.
Concept Development Systems, Inc.,
2778 Hargrove Road, Suite 349,
Smyrna, GA 30080; 404/434-4813
CIRCLE 334 ON READER SERVICE CARD
A new integrated systems development
environment for planning, analyzing,
designing, and constructing computer-
based information systems has been
announced by KnowledgeWare, Inc.
The Information Engineering Work¬
bench software family uses expert-sys¬
tem and CAD/CAP techniques to auto¬
mate information engineering. A mouse
Information Engineering Workbench screen
creates, verifies, and revises full-color
diagrams on the computer screen. Not
only the picture, but also the meaning
of the diagram is stored in a knowledge
base called the Encyclopedia. The user
can view different diagrams or portions
of the diagrams simultaneously through
the use of windows. $7,500.
KnowledgeWare, Inc., 16250 Northland
Drive, Suite 318, Southfield, MI 48075;
313/443-0410
CIRCLE 331 ON READER SERVICE CARD
Prelude is a distributed information
system that provides realtime data man¬
agement in a mixed network of mini¬
computers and desktop computers or
remote processors. Created by Ventur-
Com, Inc., this system is built around a
powerful relational database system.
Prelude’s architecture permits user ac¬
cess to shared files anywhere on the sys¬
tem, whether the files are physically
maintained on a PC disk drive, a file
server, or a minicomputer tape drive.
Two-user configuration license for PC/
XTs, $1,800; configuration of 16 PC/XTs
linked with a VAX supporting another
16 terminals, $28,000.
VenturCom, Inc., 215 First Street,
Cambridge, MA 02142; 617/661-1230
CIRCLE 330 ON READER SERVICE CARD
From Tartan Laboratories, Inc. comes
a highly optimizing C Compiler for the
RT/PC. It runs under IBM Academic
Information System’s 4.2 operating sys¬
tem and will be available for the IBM
Advanced Interactive Executive (AIX)
operating system. $1,000.
Tartan Laboratories, Inc., 477
Melwood Avenue, Pittsburgh, PA 15213;
412/621-2210
CIRCLE 327 ON READER SERVICE CARD
A microcomputer diagnostic product
has been announced by Windsor
Technologies, Inc. Version 1.06 of
PC-Technician performs extensive
diagnostic testing on a system’s overall
hardware as well as on the its individual
components. The package includes test
materials and a carrying case. $200.
Windsor Technologies, Inc. 66 Bovet
Road, Suite 380, San Mateo, CA 94402;
415/345-5700
CIRCLE 333 ON READER SERVICE CARD
Erratum: The photo spread at the top
of page 30 in the May 1986 Tech Re¬
leases was captioned incorrectly. The
photograph shows a new line of internal
tape and disk/tape subsystems by Tail-
grass Technologies Corp.
The material that appears in Tech Releases is
based on vendor-supplied information. These
products have not been reviewed by the PC
Tech Journal editorial staff.
40
PC TECH JOURNAL
Turbo Pascal * Source Code Included
Borland’s new Turbo Editor
Toolbox, “Best of the Year” award
winner, lets you build your own
word processor for only $69.95!
Turbo Editor Toolbox” lets
you build the best of all word
processors into your own
word processor. All the
modules, techniques,
instructions, and Turbo
Pascal source code are at
your fingertips. You’ll
quickly learn how to
integrate editor procedures
and functions into your
programs, or you can use
Turbo Editor Toolbox “as is,”
because it has everything.
You get Turbo Pascal source
code and everything you
need to build your own
word processor
The modules, the manual, ready-
tocompile source code, and a M-
How to do windows without
jamming your fingers back in
your wallet
State-of-the-art “windowing”
techniques are part of our new Turbo
Editor’s repertoire. Sophisticated but
easy-to-leam techniques let you
MicroStar, 1 " which we probably ought
to sell separately because it’s an
excellent text editor. But anyway, you
get it free as part of our new Turbo
Editor Toolbox. (Maybe this is why
Jerry Poumelle of BYTE magazine
recently wrote that “Borland
International Is a public benefactor.
The company continues to pour out
good, well-documented products at
MicroStar includes a complete pull¬
down menu user interface which you
can use “as is,” or you can modify
it for inclusion in your Turbo
Pascal programs.
As well as MicroStar, you also get
a complete editor ready to include
in your programs. Windows, block
commands, and memoiy-mapped
screen routines come with it
How to turn good stuff into
great stuff—maybe even
greenstuff!
With your new Turbo Editor Toolbox,
you can make WordStar® behave
like MultiMate. 1 " You can support
windows just like Microsoft’s® Word
And do it as fast as WordPerfect®
does it In other words, you can do
what they should have done. You
just go in there, tinker, fiddle, fool
around, and come up with your own
version—which will be the best word
processor you’ve never seen before.
(And if you want to sell it, go for it;
we’re not the kind of company that’ll
send bean-counters and ambulance-
chasers after you for royalties.)
Standard Turbo Editor
Toolbox features include:
Wordwrap
UNDO last change 5K
0^ Auto-indent
0^ Find & Find/Replace
with options S'
0^ Set left and right
margins 0^
Block mark, move 0^
and copy
several documents-or several parts
of the same document-all at once.
Turbo Editor Toolbox lets you
open the windows you want-
wherever you want them—at a
price that won’t make you want
to jump out of them.
7ou get a lightning-fast
editor, innumerable features,
and a 60-day money-back
guarantee** for only $69.95
For only $69.95, you can build your
own word processor and make it
do whatever you want it to do. This
already popular new program is just
one more way that Borland helps you
help yourself. So call us or the dealer
nearest you. All the telephone
numbers and ordering information
are in the adjacent coupon.
Tab, insert and
overstrike modes,
centering, etc.
Multiple windows
Multitasking
RAM-based editor
Paging, scrolling and
text display
U The new Turbo
Editor Toolbox is the
Turbo Pascal source code
to just about anything
you ever wanted a PC-
compatible text editor to
do, along with a really
excellent book of
instructions on what
text editors are and how
to use the Toolbox to
build a custom text
editor... you can’t afford
to be without this.”
Jerry Poumelle, BYTE Magazine,
discussing Turbo Editor Toolbox,
to which he gave his “Best Of ■■
The 7ear” Award ”
BORLAND
INTERNA T I 0 N A L
4585 SCOTTS VALLEY DRIVE
SCOTTS VALLEY. CA 95066
(408) 438-8400 TELEX: 172373
YES!
I want
the best
Rush me Turbo Editor Toolbox at:
To order by phone,
or for a dealer near you,
call (800) 255-8008
in CA call (800) 742-1133
Send me _ Turbo Editor Toolboxes at $ _
Outside USA add $10 per copy
CA and MA res. add sales tax $ _
Amount enclosed $ _
Prices include shipping to all U.S. cities
Payment: VISA MC Bank Draft Check
Credit card expiration date _/_
Card . .Ill
I I I I I I I I I I
fYou must have an IBM or true compatible running DOS 2.0 or
later.
My computer's name and model is:
The disk size I use is: □ 3 ¥ 2 ' □ 5’A"
NOT COPY PROTECTED
"60-DAY MONEY-BACK GUARANTEE
Name: _
Shipping Address:
City: _
State: _
Telephone:
CODs and purchase orders WILL NOT be accepted by Borland.
Outside USA make payment by credit card or International Postal
Money Order.
**YES, if within 60 days ot purchase this product does not
perform in accordance with our claims, please call 01 / customer
service department and we will gladly arrange a refund.
tMinimum System Requirements: 192K
Runs on IBM PC. XT, AT, PC’
true compatibles
\Jl0
Borland products include Turbo Pascal; Turbo Prolog; Turbo Database Toolbox; Turbo Lightning; Turbo Graphix
Toolbox; Turbo Tutor; Turbo GameWorks; Turbo Editor Toolbox; Word Wizard; Reflex, The Analyst; SideKick; SideKick,
The Macintosh Office Manager; Traveling SideKick; and SuperKey—all of which are trademarks or registered
trademarks of Borland International, Inc. or Borland/Analytica, Inc.
MicroStar is a trademark of Borland International, Inc. WordStar is a registered trademark of MicroPro International
Corp. MultIMate is a trademark of MultiMate International Corp. Microsoft is a registered trademark of Microsoft Corp.
WordPerfect is a registered trademark of Satellite Software International. Copyright 1986 Borland International
BI-1055
CIRCLE NO. 255 ON READER SERVICE CARD
TE6
AT performance at an XT price.
Introducing the r JeleCAT-286.
$2995. Complete.
With TeleVideo,
you always settle for more.
Up till now, with a mid-range
budget, you had to settle for
mid-range performance. And
a mid-range set of features.
But not anymore. Because
now, there's the new TeleCAT-
286; from TeleVideo. An IBM
AT-compatible machine that
lets you settle for an entirely new
concept in medium-priced
PCs: more.
More Performance.
TheTeleCAT-286 retails for
$2995, roughly the same as a
comparably-equipped IBM XT.
But the similarity ends there.
Instead of starting you off with
a stripped-down box, we've
loaded up the TeleCAT-286 with
everything you need. Like a
20MB hard disk. A 1.2MB
floppy. An Intel 80286 CPU that
runs at either 6 or 8 MHz clock
28% Smaller
Footprint:
What you do with the ^
extra desk space is up to HHHBhShI
you , but as you can see «
SS 5 !■■■
speed. There's even a high-
resolution monitor for text
and graphics.
To make even better use of
internal space, we socketed the
TeleCAT-286 for one MB of RAM,
and also included serial and
parallel ports on the mother¬
board. As a result, we can still
give you three extra expan¬
sion slots.
More Productivity.
Using our experience in build¬
ing terminals and systems for
750,000 users worldwide, we've
designed a machine that's the
last word in ergonomics. With
LEDs On Locking Keys: jjjt< #>jjj
For maximum visibility we
put our LEDs right on top H
of the three critical lock- BH % H
ing keys , so they won't get
covered up by overlays.
sculptured keycaps on a high-
quality keyboard. LEDs on the
three critical locking keys. And
a footprint that's 28% smaller
than the IBM AT's. So you get
more of your desk back, too.
Find Out Even More:
1 (800) TELECAT.
There's a whole lot more we could
tell you about the TeleCAT-
286. But it's an even better idea
^gig to get your hands
on it. So call us at
1(800) TELECAT,
, Dept. 202, and
well tell you the
11 g MIffl nearest place
wmmmmmmmmm yOU Can tty One.
The TeleCAT-286. Our
20MB version is $2995; 30MB,
$3495. For high performance
at a low price, don't settle
for less.
TeleVideo
Settle for more.
TeleVideo Systems, Inc. 1170 Morse Avenue
Sunnyvale, California 94088-3568 • (408) 745-7760
©1986 TeleVideo Systems, Inc. IBM is a registered trademark of International Business Machines, Inc.
Screen graphics by Chartmaster ©Decision Resources, Inc.
CIRCLE NO. 182 ON READER SERVICE CARD
[ IBS: 38*
MS') 88b for 18:88
Sales Mating
| |lB : 3tfc*
Ul:88«
! Ilf: 38*
iMwr.h W Joe
M'-Xt
pi'-rnr
HI 38p €a i l f«*ck K«tre?i
Side Kick™ Keep track of schedules with
popular desktop management programs.
<d£°
dBASE IIVdBASE Ill f Use any release of this
popular data base to sort files while working
on other applications.
Yes, I want to learn more about Premium Performance.
Please send me your special SixPakPremium infor¬
mation package today!
Name_
Title_’___
Company_ r _
Address_
City_State_Zip_
Phonei_)_
R€S€RRCH INC.
CIRCLE NO. 110 ON READER SERVICE CARD
SixPakPremium, the new generation mul¬
tifunction board designed for new genera¬
tion IBM XTs, is here! Now one person and
one PC have the power to meet the demands
of business. AST's newest solution for new
XTs, existing PCs, XTs and compatibles,
SixPakPremium offers all the popular multi¬
function features plus two megabytes of
expanded memory and the powerful software
to use it.
Premium Performance. Now, run up to nine
applications
simultaneously.
Sort a data base,
write a letter, cal¬
culate a
sheet, monitor
stock quotations and print labels... all at the
same time... on the same PC! And, our win¬
dows let you view applications instantly.
SixPakPremium is fully compatible with all
current PC applications, including expanded
memory applications such as Lotus 1-2-3
Release 2.0. And DESQview, our multitasking/
windowing environment is compatible with
more than 200 of the most popular packages.
Premium Features. SixPakPremium offers
up to two megabytes of expanded memory,
two serial ports, parallel port, game port,
battery-backed clock/calendar, DESQview
and SuperPak™ utilities.
Premium Quality. As the leader in PC
enhancement, with over a million products
shipped, AST is known worldwide for its
highly reliable products.
Make The Premium Choice. For perfor¬
mance that exceeds demand, call our Cus¬
tomer Information Center (714) 863-1333. Or
send the coupon to AST Research, Inc., 2121
Alton Avenue, Irvine, CA 92714.
m . iiu m. SIlUl
8 Ways
SORT/MERGE With
RECORD SELECTION &
OUTPUT REFORMATTING
with OPT-TECH SORT
New 3.0 version is even faster and more
powerful. Improve your system’s perfor¬
mance with OPT-TECH SORT. OPT-
TECH includes:
• CALLable and Standalone use
• All major languages
• Variable and fixed length
• Up to 10 sort/select fields
• Autoselect of RAM or disk
• Options: dBASE, BTrieve files
• 1 to 10 files input
• No software max for
# records
• Full memory utilization
• All common field types
• Bypass headers, limit sort
• Inplace sort option
• Output = Record or keys
Try what you’re using on an XT: 1,000
128 byte records, 10 byte key in 33
seconds.
MSDOS $135
Comprehensive Development
Library
C-Worthy by Custom Design
Systems
C-WORTHY LIBRARY eliminates the
writing of routine code and frees you to
work on what makes your programs
unique. 425 pages of documentation with
an in-depth tutorial.
A complete, consistent, and interrelated
set of subsystems and functions facilitates
keyboard handling, background proce¬
dures, list manipulation, screen handling,
menu management, windowing, error
reporting, context-sensitive help, DOS
interfacing, and MORE. Now you can
support incompatible machines (like IBM,
Victor 9000, TI Pro) with the same .EXE
file and alternate languages (French, Ger¬
man, etc.) with the same source code.
A unique design approach with a complete
user interface for application program¬
ming. No royalties. For Lattice C and
others.
MSDOS $295
C Programmers:
to Increase Productivity
C-INDEX B + TREE
LIBRARY
Fast, Easy, Flexible Data
Management
C-Index can enhance your product de¬
velopment by providing powerful, time
tested data management, straight out of
the box.
The C-Index Library delivers high per¬
formance B + tree indexing with efficient
variable length record storage. You get
full transportable source code, pre-com-
piled object libraries, and there are no
royalty charges. Additional features in¬
clude random and sequential data access,
automatic multi-key maintenance, and
virtual memory buffering.
C-Index has been used in many applica¬
tions and environments:
Banking, Medical Research, AI, Ac¬
counting, CD ROM Access, CAD/CAM,
and more . . .
IBM PC/AT, Macintosh, ATT 3B2,
Sun, VAX, Cray, and more . . .
C-Index/Plus with source:
$349
C-Index/File object code only:
$89 (MSDOS, MAC)
First Aid for C Programs
C Toolset
Save time and frustration when analyzing
and manipulating C programs.
DIFF and CMP - for “intelligent” file
comparisons.
XREF - cross references variables by
function and line.
C Flow Chart - shows what functions
call each other.
C Beautifier - make source more
readable.
GREP - search for patterns.
PP - formats your code so that it is
easier to read and understand.
C Util - acts as a general purpose file
filter.
Recently improved performance and en¬
hanced source portability.
Portable. Full source code.
CPM, MSDOS. Mention this
ad. Only $95 until 7/31/86.
SOURCE CODE, NO
ROYALTIES, “FLAT-FILE
ISAM” OR “NETWORK
MODEL DBMS” - RAIMA’S
db_VISTA DATABASE
Use as a simple, flat-file ISAM — or
follow the “network model,” optimized
for speed and efficient disk storage. Re¬
duces overhead associated with relational
models. Multiple key records, fast B-tree
indexing, virtual memory disk accessing,
portability. Tailor db_VISTA to your
needs by using only those features you
require. Save space. Optional dBASE,
R:BASE, and ASCII file transfer utilities
make moving to db_VISTA a snap.
MSDOS, UNIX, XENIX, Macintosh.
Single user source $459. Object
$179
Multiuser source $929. Object
$450
C DYNAMO!
WINDOWING: Full C Source,
No Royalties
POWER WINDOWS AND C
FUNCTION LIBRARY
Power Windows covers all the bases: over¬
lays, borders, 1-2-3 style or pop-up menus/
help windows, zap instantly on/off screen,
status lines, horizontal/vertical scrolling,
color control or highlighting, word-wrap,
files to windows, keyboard to windows.
Powerful, easy to use, integrated error
messages, thorough documentation. Sup¬
ports IBM monochrome or color.
MSDOS. Only $119.
C Function Library - includes 325 funda¬
mental functions with readable source
and thorough documentation.
MSDOS. Only $119.
No matter what you have, you need these.
Best value available. Highly recom¬
mended!
Full Screen library Plus Fundamentals
THE HAMMER LIBRARY
1-2-3 menus (even multilevel), data validation including range checking, field editing,
and Full Screen input make this a thorough screen library. Data entry routines let you
move between fields before completing screen. But you also get DOS and BIOS access,
file handling, string functions, and data handling. Plus pattern matching calls and library
handling utilities. Full source, no royalties. Data entry routines for solid interface with
user. Specify MS C, Lattice, CI-C86, Desmet, MW C.
MSDOS. A lot for only $179
Looking for the right tool for the job? Reach for THE HAMMER.
Even for Small Files: Convenient, Fast Access
CBTREE — Only $99
Why spend time writing file management code when you can use consistent, flexible,
documented, professional functions? Even multiuser record locking and variable-length
records are supported.
Add, delete, and update without needing to reindex. Store keys and record locations in
B1 trees.
You can access any record or group of records by the value of a user specific key. Search
your files from any point, forward or backward.
Full, balanced b-tree support includes use of multiple keys, unlimited number and length
of keys.
Use this powerful ISAM, even if you’ve previously done without.
Learn how to write systems for managing large files by using CBTREE source as a guide.
Modify it and transfer it to another operating environment without royalties.
MSDOS
Dear C Programmer: «
You want the best development software for your needs. These products will help you:
• Speed your development efforts • Increase productivity
• Write even better programs • Reduce your programming frustration
We carry over 100 C compilers, interpreters, support libraries, debuggers, and addons, specifically designed for C programmers using MSDOS
or PCDOS. Call one of our knowledgeable consultants - toll free - for details, comparisons, or for one of our specially prepared packets on C.
There is no obligation. You must be completely satisfied with the products you purchase or you will receive a full refund or replacement. You
risk nothing with our 31 day risk-free trial on any product in this ad.
Yours for more productive programming,
Bruce W. Lynch, President
Call for a catalog, literature, advice and service you can trust
NEW HOURS
8:30 AM-8:00 PM EST.
800 - 421-8006
THE PROGRAMMER’S SHOP™
128* P Rockland Street, Hanover, MA 02339
Mass: 800442-8070 or 617-826-7531 1285
“You’ve got everything I’ve heard of, and much I
haven’t! . . . Normally, I expect my money to be
“fan letter’’ enough, but you people are SUPER!”
— Shel Hall
Artell Corp.
CIRCLE NO. 220 ON READER SERVICE CARD
TECH
ERIC M. MILLER
RTDs and Themiocouples
Two approaches to measuring temperature with a data acquisition
board work for different range and accuracy requirements.
T emperature is the foremost environmental factor affecting
most processes, and it is the most measured. Two differ¬
ent approaches to temperature measurement with a data ac-
quisiton board make use of platinum resistance temperature
detectors (RTDs) and thermocouples.
RTDs are highly accurate in the range -200 to +600 de¬
grees Celsius. Accuracies to 0.1 degree Celsius are obtainable,
and repeatability can be within .01 degree. Most RTDs have a
nominal 100-ohm resistance at 0 degrees Celsius and a tem¬
perature drift of .385 ohms per degree. In figure 1, an RTD is
stimulated by a 2-milliampere current source. The voltage
produced is amplified by a factor of 10 to put it into a con¬
venient range for most data acquisition cards. Users are
usually inclined to increase the current source to provide
higher voltage output with temperature, thus obviating the
need for the instrumentation amplifier. Unfortunately, this
will cause self heating in the platinum RTD and result in pos¬
sible inaccuracies in any measurements that are taken.
The RTDs resistance is a mildly nonlinear function of
temperature and adheres to a third-order polynomial. Final
temperature determination is handled most easily by piece-
wise linear approximation in software, based upon the values
given in the device’s table by the RTD manufacturer.
Thermocouples are used primarily for instrumenting
wide ranges or the high ends in temperature measurement.
Tungsten thermocouples (types C and G) can sense tempera¬
tures to 2,300 degrees Celsius. More common types (such as
type K) adequately cover the span of 0 to 1,250 degrees Cel¬
sius, with accuracies to 1 degree Celsius.
FIGURE 1: The RTD Method
The thermocouple responds to a temperature differential
between the sensing end and the reference end. The voltage
produced (called the Seebeck voltage) assumes that the refer¬
ence junction is at 0 degrees Celsius. An electronic circuit
provides an appropriate correction voltage based on the tem¬
perature of the reference end of the thermocouple to give
cold-junction compensation.
A drawback to thermocouples is that the Seebeck voltage
is low and ranges from 6 to 60 microvolts per degree Celsius,
thus the total output of the thermocouple is rarely above 70
to 80 millivolts (mV). To interface a thermocouple to a data
acquisition card, the user provides the cold-junction compen¬
sation and sufficient gain. Figure 2 shows one approach using
an Analog Devices AD595. The AD595 incorporates cold-junc¬
tion compensation and gain and fault indication in a single
IC. Cold-junction compensation is accomplished by sensing
the temperature at the IC and applying a correction factor to
its output voltage. The nominal output voltage of the AD595
is 10 mV/degree Celsius. The Seebeck voltage is not constant
over a thermocouple’s useful range. Final linearization of the
output can take place in the user’s program in two ways: the
software may take in the circuit’s voltage and convert it to
temperature via a polynomial (typically eighth order) that ap¬
proximates the thermocouple’s output, or a piecewise linear
approach can be used. The appropriate tables are available in
reference books for thermocouples. I 1111 ^"!
Eric M. Miller is president of Miller Technology, Inc., a firm that
specializes in analog-to-digital hardware/software systems.
FIGURE 2: A Thermocouple Approach
f 15V
TYPE K
THERMOCOUPLE
A=ALUMEL
C = CHROMEL
“1
A I 14
<7T
i
_i
+ 5V
A
4.7 fxF
TANTALUM
1
20K&
v+
+ ALM
IN-
AD 5 95
v 0
FB
IN+ COM V-
-ALM
F
T
TO DIGITAL
► INPUT ON
DAQ CARD
TO ANALOG
► INPUT ON
DAQ CARD
V 0 UT= 247 3 < TYPE K
VOLTAGE
+1l^V)
(~10mV/°C)
4.7 M F
TANTALUM
y
15V
JUNE 1986
47
Focus on the technical issues that concern you
in PC TECH JOURNAL
Let’s face it, every day brings new technical
challenges with the IBM PC. And just when you
think you’ve met them all, you find out that IBM
has just introduced DOS 3.1—or that the new
networking standard is likely to be the IBM token
ring—or that one of your users just bought a
3270 board and doesn’t know what to do with it.
Where can you turn for accurate and in-depth
answers to the technical questions that confront
you daily? PC TECH JOURNAL.
PC TECH JOURNAL focuses on the technical
what-if’s and how-to’s that are crucial to the
growth of PC systems.
PC TECH JOURNAL will give you a clear
picture of products and technical developments
with, detailed, objective articles on data manage¬
ment, applications development, communica¬
tions, and programming, plus hard-nosed
product evaluations of both hardware and
software.
Subscribe now and save 50% on the
magazine that puts technical issues into
focus. PC TECH JOURNAL. One year
(12 issues) only $23.70. To subscribe,
please use attached card. Or for fast
service, call toll-free 1-800-852-5200.
Consult with
the Experts in
nr
OURNA]
4Z361
It’s easier to do a job right when you
have the right tools. That’s old wisdom,
but what was true yesterday is still true today. Your
time is valuable and we at Programmer’s Connec¬
tion are ready to help by offering you some of the
latest and most advanced productivity tools avail¬
able. Here’s a closer look at some of them.
Brief by Solution Systems 195 call
Powerful, customizable, programmer-oriented text editor that features a full
undo, automatic indentation for the C language and the ability to run programs in
DOS from within the editor. It uses all the memory available to it and can edit files
with unlimited size in its multiple windows. The compiled macro language has a
rich set of commands. It supports regular expression searches, horizontal
scrolling, mnemonic key assignments, keystroke macros and keyboard reconfig¬
uration. It comes with extensive documentation, a tutorial and an on-line help
system.
CodeSmith-86 by Visual Age 145 109
Powerful multi-window program debugger with source code display windows
that allow you to step and scroll your C, Fortran and Pascal source code. You
can use its dual-mode patching assembler to instantly change instructions right
on the display or its branch-to-patch mode to insert code between existing
instructions. It supports stop on data compare/miscompare, breakpoints and
passpoints, dual monitors and much more. It comes with a self-contained
operating system that allows you to debug any code — even DOS itself.
Epsilon by Lugaru Software 195 i65
Extremely fast and powerful Emacs-like macro text editor that provides a
complete programming environment. It features the ability to compile programs
in one window while concurrently editing others in other windows. Now you
don’t have to wait for your compiler to finish before you can begin making your
corrections! Powerful macro commands give you virtually unlimited editing
capabilities. Other features include customizable keyboard, keyboard macros,
automatic swap file, regular expression search, unlimited number and sizes of
files, language support for C and others, recovery of deleted text (undo n times)
and more. A very fast, context sensitive, on-line help facility is also included.
Requires 256K memory.
Microsoft Macro Assembler (MASM) 150 99
Very fast, standard PC macro assembler that fully supports the 8088,80186 and
80286 instruction sets and their corresponding math coprocessors. It’s com¬
pletely upward compatible with the IBM Macro Assembler and comes complete
with a fast MS-DOS overlay linker, a library manager, a MAKE utility, a cross
reference utility and excellent documentation. Additional utilities include
EXEPACK, an EXE file compression utility and EXEMOD, an EXE file header
utility. Also featured is SYMDEB, an interactive symbolic program debugger that
supports source-level debugging of Microsoft C, Fortran and Pascal programs.
It supports source line single-stepping and breakpointing, full I/O redirection,
stack tracing and shell escapes for executing DOS commands.
Pfantasy Pac by Phoenix Software 1295 895
Combination of programmer’s productivity tools that includes six valuable
Phoenix products: Plink86 Plus, Pfix86 Plus, Pfinish, Pmaker, Pmate and Ptel.
Plink86 Plus is an extensive overlay linker. Pfix86 Plus is a symbolic debugger
that supports Plink86 overlays. Pfinish is an execution profiler that finds the
inefficient parts to your programs. Pmaker is a make facility that automates the
process of creating new programs after changes have been made. Pmate is a
powerful macro text editor. Ptel is a telecommunications program for binary file
transfers. Please turn the page and refer to the Phoenix Products section for’
more information.
PolyMake by Polytron Software 99 79
Intelligent program builder and maintenance tool for MS-DOS that automates
the process necessary to create new versions of a program. You can use its
built-in rules to rebuild your programs or specify your own. Then, whenever you
make changes to your source code and are ready to recompile, you just invoke
PolyMake. It determines which source files need compilation and automatically
creates the new program using the minimum number of operations necessary to
bring the program up to date. It works with source files in any language and can
be used to maintain non-program files as well. It uses the UNIX make syntax and
can run UNIX makefiles. 256K memory recommended.
Source Print
by Aldebaran Laboratories New 139 119
Source formatting and printing utility for C, Pascal, BASIC, dBase and Modula-2
that indexes and cross references your progams for you. It provides page
headings, line numbers, a table of contents, automatic indentation and extensive
printer control. You can have it draw lines connecting the beginning and end of
nested control structures to make even the most complex program structures
stand out clearly. Key words may be emphasized with printer styles like boldface
and underline. You can extract and print by line number range or by selected
subtitled procedures and functions from one or more source files. Requires
192K memory.
SRMS Software Revision Mgmt System
by Quilt Computing New version 125 109
Set of integrated utilities that maintains a history of the revisions made to a
program. You have complete access to all versions of the program, although any
source code that is common to different versions are not duplicated. It supports
any type of source files including C, Fortran, BASIC, Pascal, COBOL and
assembly code. There are extensive provisions for including comments and
notes describing each version. Any version of the program may be quickly and
easily restored with a single command. It can be used interactively or in batch
environments. Requires 128K memory.
XTC by Wendin 99 84
Programmer’s editor that features a complete, structured, multitasking macro
language that may be interpreted or compiled. It supports up to eight windows
and twenty text buffers for holding files and blocks of text. It has the ability to edit
unlimited-sized files and allows you to compile from within one window and
have output redirected into another. Additional features include undo N times,
removal of Wordstar high bits, tab expansion and compression, auto¬
indentation and the ability to edit extra long lines. The command structure and
cursor movement controls are customizable. Includes complete editor source
code in Microsoft Pascal. Requires 256K memory.
CALL TOLL FREE
DFDIQrnDP Periscope I 295 249
. VL M _ . . Periscope II 145 115
by Data Base Decisions Periscope n-x 99 85
Full featured resident symbolic debugger that features in-line symbolic
assembly, debugging with high-level source code and the ability to view text
files while debugging. It supports most languages, dual screens, graphics,
comprehensive breakpoints, crash recovery and much more. There are three
configurations of Pericope available. Periscope I comes with an NMI breakout
switch and a crash-proof write-protected memory board (for IBM PC’s or close-
compatibles only). Periscope II comes with an NMI breakout switch but does not
include the write-protected memory board. Periscope ll-X is a software only
version that comes without either the NMI breakout switch or memory board.
The software for each configuration is the same. Requires 128K memory.
1800 * 336 * 1166
_jll.S. OHIO 216-877-3781
1 * 1800 * 225 * 1166
LZ-Icanada
programmer's
connection
Be sure to turn the page for the largest advertised selection of programmer’s development tools for IBM Personal Computers and compatibles.
CIRCLE NO. 175 ON READER SERVICE CARD
PROGRAMMER DEVELOPMENT TOOLS FOR THE IBM-PC/XT/AT
Shipping Charge *
Handling Charge
Insurance Charge
Credit Card Charge
C.O.D. Charge
Purchase Order Charge
Hidden Charges
PLUS OUR NO RISK GUARANTEE
♦ When shipping via standard United Parcel Service.
and compatibles.
g compilers
C-86 Compiler . See Computer Innovations Section
Datalight C Compiler Small Memory Model .
Datalight Developer's Kit with Large Memory Model . New
DeSmet C Compiler with Source Debugger ._..
Eco-C Complete Development System by Ecosoft.
Lattice C Compiler . See Lattice Section
Let’s C Compiler by Mark Williams.
with csd Source Level Debugger.
Microsoft C Compiler with Source Debugger . New version
MWC-86 by Mark Williams . Special Price
Wizard C Compiler Includes Lint by Wizard Systems.
c interpreters
395
60
99
159
125
500
75
150
289
49
79
145
89
299
69
129
495 CALL
495 289
450 369
apl language list ours
APL*PLUS/PC System by STSC. New version 595 449
APL*PLUS/PC Tools Vol 1 by STSC. 295 239
APL*PLUS/PC Tools Vol 2 by STSC. 85 69
APL*PLUS/UNX System For AT Xenix by STSC. 995 795
Btrieve ISAM File Manager by SoftCraft. New version 250 195
Financial/Statistical Library by STSC. 275 219
FRESCO Business Graphics Library by Mr. APL. 300 269
Pocket APL by STSC. 95 79
STATGRAPHICS by STSC. 695 539
artificial intelligence
ExpertEASE by Human Edge. New 695 589
ExpertEDGE by Human Edge. New 795 659
Experteach Complete System by Intelliware. 475 389
EXSYS Expert System Development Software by EXSYS. 395 339
GCLISP Golden Common LISP by Gold Hill. All models CALL CALL
Insight I Al Primer by Level Five Research. 95 75
Insight II by Level Five Research. 485 389
Microsoft LISP Common Lisp . 250 189
Methods Smalltalk-based Prototyping by Digitalk. 250 209
MicroProlog by Programming Logic Associates. New 250 219
with APES. 425 369
Professional MicroProlog by Programming Logic. New 395 349
with APES. 650 569
Prolog-86 from Solution Systems. 125 CALL
Prolog-86 Plus from Solution Systems. 250 CALL
QNIAL Combines APL with LISP by NIAL Systems. New 375 359
Small-X by Kaplan. 125 99
TransLISP from Solution Systems. New 75 CALL
Turbo Prolog Compiler by Borland International. New 100 CALL
assemblers and debuggers
8088 Assembler w/Z-80 Translator by 2500 AD. 100 89
Advanced Trace-86 with ASM Interpreter by Morgan. 175 139
Codesmith-86 Debugger by Visual Age. 145 109
Cross Assemblers from 2500AD . Over 25 varieties CALL CALL
Microsoft Macro Assembler with utilities . 150 99
Periscope I by Data Base Decisions. 295 249
Periscope II by Data Base Decisions. 145 115
Periscope ll-X by Data Base Decisions. New 99 85
The PROFILER with Source Code by DWB Associates. 125 95
Turbo EDITASM Fast Assembler by Speedware. 99 84
Visible Computer: 8088 by Software Masters. 80 65
basic language
BetterBASIC by Summit Software ... Now BASICA Compatible 200 165
8087 Math Support. 99 85
Btrieve Interface. 99 85
C Interface . New CALL CALL
Run-time Module. 250 225
Microsoft QuickBASIC Compiler. BASICA Compatible 99 79
Professional BASIC by Morgan Computing. 99 79
8087 Math Support. 50 47
True Basic from Addison-Wesley. 150 105
Run-time Module. 500 435
blaise products
Asynch Manager Specify for C or Pascal . 175 139
C Tools Combination Package. Both Items Below 175 149
C Tools. 125 105
C Tools 2 . 100 84
Exec Program Chainer . 95 79
Pascal Tools Combination Package. Both Items Below 175 149
Pascal Tools. 125 105
Pascal Tools 2 . 100 84
Turbo ASYNCH for Turbo Pascal . 100 84
Turbo POWER TOOLS for Turbo Pascal . 100 84
View Manager Specify for C or Pascal . 275 209
with Source Code. Special Price 295 239
borland products
REFLEX Data Base System . New 99 75
Turbo DATABASE TOOLBOX. 55 38
Turbo EDITOR TOOLBOX. 70 54
Turbo GAMEWORKS TOOLBOX. 70 54
Turbo GRAPHIX TOOLBOX. 55 38
Turbo LIGHTNING. 99 75
Turbo PASCAL. 70 49
with 8087 or BCD. 110 77
with 8087 and BCD. 125 84
Turbo Prolog Compiler . New 100 CALL
Turbo TUTOR for Turbo PASCAL . 35 28
C-terp by Gimpel Software . Specify compiler interface
Instant C by Rational Systems.
Interactive C by IMPACC Associates.
Run/C by Age of Reason.
Run/C Professional by Age of Reason .
c utilities
Also refer to Blaise, Computer Innovations, Lattice, Microsoft, Phoenix,
Polytron, SoftCraft and Xenix System V sections.
APT Application Programmer's Toolkit
by Shaw American. 395 339
Basic C Library by C Source. 175 135
C Essentials by Essential Software . 100 85
C-lib by vance info systems. 195 125
C Power Packs by Software Horizons. CALL CALL
c-tree ISAM File Manager with source by FairCom. 395 329
C Utility Library by Essential Software. 185 139
C Windows by Syscom . 100 89
C Wings by Syscom. 50 45
dbVISTA Single-User DBMS by Raima. 195 159
with Source Code. 495 429
dbVISTA Multi-User DBMS by Raima. 495 429
with Source Code. 990 849
EditCheck by Everest Solutions. 90 79
Entelekon Combo Package. Combination of 3 items below 200 175
C Function Library. 130 115
C Windows. 130 115
Superfonts for C. 50 45
Essential Graphics by Essential Software. No royalties 250 219
Flash-up Windows by Software Bottling of NY . 75 69
Graphic Mono version 2.2 by Scientific Endeavors. 280 219
Graphic Color version 3.0 by Scientific Endeavors. 350 299
The Greenleaf Functions by Greenleaf Software. 185 135
Greenleaf Comm Library by Greenleaf Software. 185 135
The HAMMER by OES Systems. 195 175
MetaWINDOWS by Metagraphics. 185 139
MetaWINDOWS/Plus by Metagraphics. New 235 199
Multi-Halo by Media Cybernetics. Royalties 300 219
On-line Help from Opt-Tech Data Processing. 149 119
PANEL by Roundhill. Library Source Available 295 229
PC Lint by Gimpel Software. 139 109
Scientific Subroutine Library for C by Peerless. 175 139
Vitamin C by Creative Programming . 150 139
VC Screen Interactive Forms Designer . New 99 85
Zview by Data Management Consultants. 245 199
cobol language
Micro Focus COBOL Workbench. 4000 3599
Micro Focus Level II COBOL. CALL CALL
COMATH . 200 169
FORMS-2 . 300 269
Level II Animator. 1200 995
Level II SOURCEWRITER. 2000 1689
Micro Focus Micro/SPF. 175 159
Micro Focus Professional COBOL. 3000 2395
Microsoft COBOL. See Microsoft Section 700 495
Realia COBOL. New 995 795
RM/COBOL by Ryan-McFarland. 950 675
RM/COBOL 8 X ANSI 85 COBOL by Ryan-McFarland ... New 1250 995
computer innovations products
C -86 Optimizing Compiler. 395 289
C to dBase. 150 139
Cl Probe Source Level Debugger . 225 199
Cl RomPac for C-86 . 195 149
Introducing C C Interpreter . 125 105
fortran language
ACS Time Series by Alpha Computer Service. 495 429
Btrieve ISAM File Manager . See SoftCraft Section
For-Winds by Alpha Computer Service. 90 79
Forlib-Plus by Alpha Computer Service. 70 55
Microsoft Fortran. 350 215
MORE FORTRAN by Peerless Engineering. 125 99
Multi-Halo by Media Cybernetics. Royalties 300 219
PANEL Screen Designer by Roundhill. 295 229
PC Fortran Tools by Stat Com Systems. 179 159
PolyFortran Tools by Polytron. 179 139
RM/Fortran by Ryan-McFarland. 595 395
Scientific Subroutine Library by Peerless ... .. 175 139
The Statistician by Alpha Computer Service. 295 259
Strings & Things by Alpha Computer Service. 70 55
300 239
500 379
249 219
150 99
250 189
lattice products list ours
Lattice C Compiler. 500 299
with Library Source Code. 900 549
C Cross Reference Generator. 50 39
with Source Code. New 200 159
C-Food Smorgasbord Function Library . 150 99
with Source Code. 300 195
C-Sprit e Source Level Debugger . 175 139
Curses Screen Manager . 125 99
with Source Code. 250 199
dBC dBase File Manager for C . 250 199
with Source Code. 500 395
LMK Make Facility . 195 149
LSE Screen Editor . New 125 99
RPG II Compiler .. 750 595
SecretDisk File Security . 60 49
SideTalk Resident Communications . 120 95
Text Mgmt Utilities (GREP/DIFF/ED/WC/Extract/Build) . 120 95
TopView Tool basket Function Library . 250 199
with Source Code. 500 395
Z-80 C Cross Compiler . New 500 395
with Library Source Code. 1000 789
microsoft products
Microsoft BASIC Interpreter for Xenix. 350 279
Microsoft C Compiler with source debugger . New version 495 CALL
Microsoft COBOL Compiler. 700 495
Microsoft COBOL Compiler for Xenix. 995 795
Microsoft COBOL Tools with COBOL Source Debugger . 350 209
Microsoft COBOL Tools for Xenix. 450 359
Microsoft Fortran Compiler. 350 209
Microsoft Fortran Compiler for Xenix. 495 389
Microsoft LISP Common LISP . 250 189
Microsoft Macro Assembler with utilities . 150 99
Microsoft Mouse Bus Version . New 175 149
Microsoft Mouse Serial Version . New 195 159
Microsoft muMath. Includes muSIMP 300 195
Microsoft Pascal Compiler. 300 195
Microsoft Pascal Compiler for Xenix. 495 389
Microsoft QuickBASIC Compiler. 99 79
Microsoft Sort. 195 149
Microsoft Windows . 99 74
Microsoft Windows Developer's Kit. New 500 CALL
modula-2 language
MODULA-2/86 Compiler by Logitech. 89 65
with 8087 . 129 105
with 512K. 189 149
MODULA-2 Editor by Logitech . 59 49
MODULA-2 Runtime Debugger by Logitech. 69 59
MODULA-2 Source Package by Logitech. 179 155
MODULA-2 Utilities Package by Logitech. 49 45
other products
Dan Bricklin's Demo Program by Software Garden .... New 75 65
FASTBACK Backup Utility by 5th Generation Systems . . . New 179 159
Interactive EASYFLOW by Haventree Software. New 150 129
Janus/ADA C Pack by R&R Software. 95 89
Janus/ADA D Pack by R&R Software. 900 699
PC/Forth by Laboratory Microsystems. 150 119
PC/Forth+ by Laboratory Microsystems. 250 209
SET: SCIL by System Engineering Tools. New 349 299
Source Print by Aldebaran Laboratories. New 139 119
SRMS Software Revision Mgmt System by Quilt. New 125 109
phoenix products
Authorized Dealer
Springtime Sale!
Pasm86 Macro Assembler . 295 179
Pfantasy Pac. Pfinish,Pfix+,Plink+,Pmaker,Pmate,Ptel 1295 895
Pfinish Performance Analyzer . 395 229
Pfix-86 Plus Symbolic Debugger . 395 229
PforCe C Function Library . New 475 CALL
Plink-86 Overlay Linker .. 395 229
Plink-86 Plus Enhanced Overlay Linker . 495 359
Pmaker Program Development Manager . 195 139
Pmate Macro Text Editor . 225 139
Pre-C Lint Utility . 395 229
Ptel Binary File Transfer Program . 195 139
polytron products
Polytron C Beautifier. 49 45
Polytron C Library I. 99 79
Polytron PowerCom Communications . 179 139
Poly FORTRAN Tools I. 179 139
PolyLibrarian Library Manager . 99 79
PolyLibrarian II Library Manager . 149 119
PolyMake UNIX-like Make Facility . 99 79
PolyOverlay Overlay Optimizer . 99 79
Poly Windows Developer Kit . New 199 149
PolyWindows Products. All varieties CALL CALL
PolyXREF Cross Reference Utility . Complete system 219 179
PolyXREF Support for one language only . 129 109
PVCS Polytron Version Control System . 395 359
PVMFM Polytron Virtual Memory File Manager . 199 149
softcraft products
Btrieve ISAM File Mgr with no Royalties . New version
Xtrieve Query Utility for Btrieve .
Rtrieve Report Generator for Xtrieve ..
Btrieve/N for Networks .
Xtrieve/N Query Utility for Btrieve/N .
Rtrieve/N Report Generator for Xtrieve/N .
OPT-Tech Sort Sorts Btrieve Files . New version
text editors
Brief from Solution Systems.
Epsilon Emacs-like editor by Lugaru. New version
FirsTime for Turbo by Spruce Technology .
KEDIT Xedit-like editor by Mansfield Software Group.
SPF/PC by Command Technology Corp.
Vedit by CompuView.
Vedit Plus by CompuView.
XTC Text Editor with source by Wendin.
turbo pascal utilities
Also refer to Blaise, Borland and SoftCraft sections.
ALICE by Software Channels. New Pascal Interpreter
FirsTime for Turbo by Spruce Technology .
Flash-up Windows by Software Bottling of NY .
Multi-Halo Graphics by Media Cybernetics. Royalties
On-line Help from Opt-Tech Data Processing.
Screen Sculptor by Software Bottling of NY.
Turbo EXTENDER by TurboPower Software.
Turbo Professional by Sunny Hill Software.
TurboPower Utilities by TurboPower Software.
TurboRef by Gracon Services.
TurboWINDOW by MetaGraphics.
XTC Text Editor by Wendin.
video training tapes
(6-86)
250
195
195
169
85
79
595
465
395
299
175
159
149
119
195
CALL
195
165
75
69
125
109
195
165
150
115
225
180
99
84
95
85
75
69
75
69
CALL
CALL
149
119
125
95
85
69
70
49
95
84
50
45
80
69
99
84
These video cassette training tapes are from the Information Factory and are an excellent
alternative to expensive classroom training. Specify Beta or VHS. Price includes one
student manual. Call for more information.
Computer Literacy. New
Local Area Networks. New
Programmer’s Introduction to C . New
wendin products
Operating System Toolbox . Build your own OS
PCUNIX Operating System .
PCVMS Operating System . Similar to VAX/VMS
XTC Text Editor . Includes Pascal source code
400 CALL
350 CALL
500 CALL
99 84
99 84
99 84
99 84
xenix system v
Complete Xenix System by SCO. Combined Package 1295
Xenix Development System . * 595
Xenix Operating System. Specify XT or AT 595
Xenix Text Processing Package. 195
1099
529
529
179
xenix languages and utilities
APL*PLUS/UNX System For AT Xenix by STSC.
Btrieve ISAM File Manager by SoftCraft.
c-tree ISAM File Manager with Source by FairCom .
Informix by RDS.
Lyrix by SCO. New
Microsoft Languages. See Microsoft Section
Networks for Xenix by SCO. New
PANEL Screen Designer for AT Xenix by Roundhill.
SCO Professional Complete Lotus clone by SCO.
995 795
595 465
395 329
995 839
595 489
CALL CALL
595 539
795 695
Prices are subject to change without notice.
We are open until 5 p.m. Pacific Time, (8 p.m. Eastern).
Visa and MasterCard are accepted with no surcharge applied.
Please include card expiration date when ordering by mail.
Account is charged when shipped.
VISA
EEJ
CALL TOLL FREE
OUR NO RISK GUARANTEE
If you are not completely satisfied with your purchase you may return it within 30 days.
All returned products must meet our standards for being in new, resellable condition
including all paperwork and unused registration card. Products including source code
are generally excluded by the manufacturer from this guarantee. Please ask for specific
details when placing your order.
connection
136 SUNNYSIDE ST.
HIRMLE, OHIO 44632
CIRCLE NO. 175 ON READER SERVICE CARD
COMPUTER GRAPHIC • DOV JACOBSON
D uring the first two decades of its
existence, BASIC has experi¬
enced many transformations. It
started out as an innovative mainframe
language. Developed in 1964 at Dart¬
mouth College, it was the first inter¬
active language meant for use on ter¬
minals that were logged on to a time¬
sharing system. For its day, it had some
advanced features: free-field input, auto¬
matic output formatting, variable-length
strings, and single-step matrix opera¬
tions (the last is not available in most
microcomputer versions).
BASIC later played a crucial part in
the microcomputer revolution and re¬
mains the most widely used micro¬
computer language available today.
However, entirely new concepts of pro¬
gramming have grown up since BASIC’s
inception, and the language, or at least
its early versions, have fallen behind the
state of the art.
All IBM PCs and most compatibles
come bundled with a BASIC inter¬
preter—typically, the Microsoft product
popularly known as BASICA. Its wide
distribution makes BASICA the de facto
standard in the microcomputer—es¬
pecially the 8086—world. This fact is
appreciated by programmers who dis¬
tribute commercial software.
When first introduced, BASICA was
a marvel of interactive programming,
with graphics, string handling, event
trapping, and file I/O that were both
powerful and convenient. Its ability to
control hardware is second only to
assembly language. The implementation
of graphics and sound reaches the full
potential of the hardware.
However, drawing on more mod¬
ern concepts of language design, imple¬
mentors of other languages have fash¬
ioned products with most of BASICA’s
functions and a lot more besides—
namely fast-executing code, structured
programming constructs, and access to
the full 640KB of PC memory. In the
face of powerful microcomputer imple¬
mentations such as Pascal and C, the
continued popularity of BASICA could
be considered an anachronism.
Several software companies have
examined the situation and decided that
it is the BASICA implementation that
has been outstripped, not the BASIC
language itself. They cite resilient
strengths of BASIC that refuse to fade in
the race toward sophisticated languages.
BASIC is still the highest level language
that provides the lowest level of control
over hardware. It remains the lingua
franca of the microcomputer world;
more listings are published in BASIC
than in any other language.
Enter the enhanced BASIC inter¬
preters, languages that combine the tra¬
ditional strengths of BASIC and the ad¬
vanced features that programmers have
come to expect. As they outgrow the ca¬
pabilities of BASICA, many program¬
mers look for more capable languages.
While some migrate to Pascal or C,
others are unwilling to make the invest¬
ment in learning a new language. Still
others may have a sizable amount of
BASIC source code they would like to
maintain. For these users, an expanded
BASIC is the ideal upgrade.
The characteristics desired in a
new BASIC depend on the particular
need that BASICA could not fill for
them. The most common are full mem¬
ory utilization, execution speed, struc¬
tured programming constructs, and
modular program development. The
Six New
Shapes of BASIC
Several new BASIC interpreters combine the
traditional strengths of BASICA with the advanced
language features that todays programmers expect.
TED MIRECKI
52
BASIC
TABLE 1 : Features Comparison
BETTER-
BUSINESS
MEGA¬
PRO.
TRUE
WATCOM
BASICA
BASIC
BASIC
BASIC
BASIC
BASIC
BASIC
Version tested
3.0
2.0
7 3
5.23
2.04
1.0
2.5
Price
Free
$199
$295
$375
$99
$149
$250
ENVIRONMENT
Recommended memory (KB)
128
256
256
256
384
192
256
Workspace used (KB)
64
Large
64
Large
Large
Large
52
Multiple workspaces
No
Yes
Yes a
Yes
No
Yes
Yes a
Runtime package
N/A
$250
N/A
Included 5
_C
$500
N/A
DOS path support
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Reads BASICA ASCII
Yes
Yes
No
No
Yes
No
No
Reads BASICA tokenized
Yes
Yes
No
No
No
No
No
Prerun syntax check
No
Yes
Yes
Partial
Yes
Yes
No
EDITOR
Full screen
Yes
Yes
Yes d
No
No
Yes
Yes
Find/Replace
Block move
No
No
No
Both
Find
Both
Both
No
No
No
Yes
No
Yes
Yes
MAJOR LANGUAGE FEATURES
Line numbers
Required
Required
Required
Required e
Optional
Optional
Optional
GOTO with labels
No
Yes
No
Yes
Yes
No
No
Length of variable names
40
40
32
250
308
31
31
Multiline IF
No
Yes
No
No
No
Yes
Yes
Number of loop types
2
5
1
2
2
10
5
Multiline functions
No
Yes
No
Yes
No
Yes
Yes
GOSUB with labels
No
Yes
Yes
Yes
Yes
Yes
Yes
Parameters with GOSUB
No
Yes
Yes
Yes
No
Yes
Yes
Recursive calls
No
Yes
Yes
Yes
No
Yes
Yes
Separate compilation
No
Yes
Yes
Yes
No
Yes
No
PEEK/POKE capability
Yes
Yes
No
Yes f
Yes
Yes
Yes
Matrix operations
No
No
No
No
No
Yes
Yes
Dynamic strings
Yes
Yes
Yes
No
Yes
Yes
Yes
Integer length (bits)
16
16
N/A
32
32
N/A
16
Real format
MS
MS
BCD
BCD
IEEE
IEEEs
IEEE
Max precision (digits)
16
16
14
14
16
16
16
HARDWARE SUPPORT
8087
No
Optional
No
No
Optional 5
Yes
Yes
Graphics
Yes
Yes
No
No*
Yes
Yes
Yes
Sound
Yes
Yes
No
No
Yes
Yes
Yes
Communications
Yes
Yes
No
Yes*
Yesi
Optional
Yesi
Light pen
Yes
No
No
No
No
No
No
a Multiple programs are allowed in a single workspace. swith the 8087 only. An eight-byte format similar to IEEE is used otherwise.
b A stripped-down interpreter without an editor or immediate mode is included. h With the 8087 option, real numbers may be either IEEE binary or
c The manual suggests BASICA or a BASICA compiler as the runtime package. binary-coded decimal.
d Full-screen editor provided as a utility written in BB X . •For an extra $50, MEGABASIC will supply a graphics interface to Digital
e If a program is loaded without line numbers, the interpreter will add them. Research's GEM. The programmer must have a copy of GEM before
When saved from MEGABASIC, all programs have line numbers. using MEGABASIC graphics.
CThe FILL and EXAMINE commands replace PEEK and POKE. Both MEGABASIC JA serial port can be read from or written to, but no equivalent of BASICA’s
commands operate on a range of bytes, not just one byte at a time. ON COMM is provided.
The new BASIC interpreters are so dissimilar that they might be considered different languages. None is copy protected.
following six products address these
features to varying degrees: BetterBASic
from Summit Software Technology;
Business basic Extended (BB X ) from
Basis Inc.; megabasic from American
Planning Corporation; Professional basic
from Morgan Computing; True basic by
True basic Inc.; and watcom basic from
Waterloo Computing Systems.
All of these products are primarily
interpreters in that they have integral
editors, and their output code, even if
semicompiled, still needs to be inter¬
preted by the BASIC system. Other
characteristics of each of the products
are listed in table 1.
BASIC SHORTCOMINGS
BASIC is not a standardized language
(see the sidebar “The ANSI Standard for
BASIC”), and different implementations
enhance the original BASIC in different
ways—in some cases changing the lan¬
guage almost beyond recognition. Be¬
cause the six products reviewed here
are so different, directly comparing
them feature-for-feature is not practical.
They will first be measured against
BASICA and then described separately.
Memory utilization. BASICA can use no
more than 64KB of memory—a limit
that applies to the total space for pro¬
gram and data, as opposed to the small
54
PC TECH JOURNAL
memory model of the C language,
which imposes separate 64KB limits on
program and data. Of the products re¬
viewed here, two provide an even
smaller workspace than BASICA:
watcom basic, although nominally pro¬
viding 64KB, takes up extra space for
overhead, leaving only 52KB for the
programmer’s use; BB X provides two
versions of the interpreter, one with a
32KB workspace and one with 64KB.
The effective capacity, however, is much
less than BASICA’s because BB x ’s num¬
bers are all ten bytes long, versus two,
four, or eight bytes in BASICA.
The remaining four BASICS, whose
workspace in shown as large in table 1,
can use all of the PC’s memory.
Structured programming. A fully struc¬
tured language must provide compound
(multiline) statements for decision (IF-
THEN-ELSE) as well as looping, mod¬
ular programming, and the localization
of data within modules. BASICA pro¬
vides only two multiline looping state¬
ments (FOR and WHILE). The need to
string out an IF-THEN-ELSE statement
on one line is, in this day and age, an
unnecessary hardship. Even FORTRAN,
well-known for its spaghetti code, now
supports structured statements.
Professional basic and megabasic
provide no more structured constructs
than does BASICA. In the case of Pro¬
fessional basic, this is understandable
because it strives for total compatibility
with BASICA. BB X provides even fewer
structured statements than BASICA, be¬
cause it lacks the WHILE loop.
The other reviewed products add
to BASICA’s repertoire the multiline IF
statement and several types of loops,
such as DO UNTIL and DO WHILE....-
UNTIL. Usually, the more types of loop¬
ing constructs that a language supports,
the easier it is to write readable code.
Modular programming. One of the key
concepts of structured programming is
the division of a program into sub¬
program modules. This more lucidly in¬
dicates the flow of control through a
large program, and it hides messy pro¬
gramming details from the levels that
need not be concerned with them. Sub¬
programs are of two types: procedures
(also known as subroutines), which
have a large-scale effect, such as chang¬
ing the value of many variables or con¬
trolling peripherals; and functions,
which typically return a single value of
a given numeric or string type. If a
function also changes variables or per¬
forms any other actions, it is said to
produce side effects.
BASICA provides a low level of
subprogram capability—the same as in
the original 1964 implementation of the
language. Subroutines are invoked with
the GOSUB statement, the target of
which is a line number. The line num¬
ber gives no clue to the subroutine’s
purpose. Furthermore, all variables are
global—that is, shared between the sub¬
routine and its caller. Writing general-
purpose toolbox routines is difficult be¬
cause the main program must know
which variables to set in order to pro¬
vide input to the subroutine, and the
subroutine must know which variables
to leave alone in order to avoid unde¬
sirable side effects. This can result in
some long debugging sessions.
A BASICA function is defined as a
single mathematical expression that
must fit on one line of source code.
The arguments of the function are dis¬
tinct from any main program variables
Several software companies
have examined the situation
and decided that it is the
BASICA implementation that
has been outstripped, not the
BASIC language itself.
of the same name, and the single-line
structure of the function definition pro¬
tects the main program from any side
effects. The high degree of isolation be¬
tween the function subprogram and the
calling program can, in certain situa¬
tions, be as restrictive as the lack of iso¬
lation in GOSUB subroutines.
This implementation of GOSUBs
and functions is the lowest common de¬
nominator provided by BASICA and
adopted by the six enhanced products.
The enhanced BASICS, however, pro¬
vide some more advanced capabilities.
Professional basic has made a minor im¬
provement over BASICA by allowing
named labels to be used in place of
line numbers in GOSUB and GOTO
statements. Procedures may thus be
given descriptive names. The problem
of global variables remains, however.
The other BASICS go much further
in the sophistication of subprograms.
Procedures are identified by name, not
line number, and may have parameters
the way functions do. Functions may be
defined over many lines, like proce¬
dures. Parameters may be passed either
by value or by reference (the former
makes a temporary copy for the subpro¬
gram; the latter accesses the caller’s
copy, allowing a parameter value to be
permanently changed). Most significant¬
ly, subprograms may be recursive—that
is, they can invoke themselves.
Advanced subprograms may be in¬
ternal or external. Internal subprograms
are coded within the invoking program
(GOSUB procedures are internal). Typi¬
cally, internal subprograms and their
callers share variables except for param¬
eters and those variables declared as
local. External subprograms are physi¬
cally separated from the invoking pro¬
gram, either by residing in separate
hies or by being placed after the logical
end of the invoking program. A signifi¬
cant advantage of external subprograms
is that the scope of variables is the op¬
posite of that for internal ones: they are
local by default unless declared global.
This allows finer control over intended
and inadvertent side effects.
watcom basic supports internal sub¬
programs only. Except for the primitive
GOSUB procedures and single-line
functions, BetterBASic and BB X support
only external programs. True basic and
megabasic support both. In addition,
BetterBASic, True basic, and megabasic
all implement libraries of precompiled
external routines.
FIELD statement. BASICA’s FIELD state¬
ment is often cited as one of its worst
features. Its purpose is to specify the
fields that make up a record of a ran¬
dom-access hie. Record-oriented hie I/O
is not usually supported in BASIC to the
extent that it is in COBOL or Pascal.
BASIC has no standardized way of spec¬
ifying the layout of a hie record, and
the implementations in the various dia¬
lects of the language are signihcantly
different. Alternative methods of speci¬
fying record layouts are not necessarily
any better or easier to code than the
much-maligned FIELD statement.
The big shortcoming of the FIELD
statement is that each of the helds in
the record can contain only string, not
numeric, data. In order to write numer¬
ic data to a random hie, the system
must be fooled into treating it as string
data. This is accomplished by means of
the MKI$, MKS$, and MKD$ functions
on output and the CVI, CVS, and CVD
functions on input. This scheme negates
one of the advantages of record I/O: the
aggregation of different data types into
a single structure. Apart from this draw¬
back, the FIELD statement is not too
bad; each held is identihed by name,
and although hxed record length is
restrictive, it lessens the potential for
programmer errors.
JUNE 1986
55
Aztec C ... The Best C
Frees the genius inyou
You’ve got a great idea ...
... you’re ready to write your programs.
You don’t want to be sidetracked by all the paper¬
work. With Manx Aztec C and the ingenious make
function, your creative processes won’t get bogged
down in program administration and housekeeping.
Manx Aztec C has the most sophisticated, hardwork¬
ing program administrator available to you. Once
you’ve described your project, adding new features or
enhancements is simple. You never have to concern
yourself with the repetitive, tedious task of rebuild¬
ing your systems.
The development process moves quickly. Com¬
piles, assemblies, link edits ... all finish in record
time.
Manx Aztec C is the fastest, most efficient C de¬
velopment system in the industry. Benchmarks show
it... reviews commend it... users praise it.
You’re ready to test the program. You’re ahead of
schedule. The Manx Aztec C Source Level Debugger
shows you the exact C language statement giving you
a problem. You fix the problem quickly ... you’re
still ahead of schedule.
“ ... a superb linker, a profiler, an assembler,
and a set of development utilities are only the be¬
ginning of this package ... performed admirably
on the benchmarks, with short compile times and
the best link times in this review ... includes the
most professional make utility ... documentation
is clear and complete. There is no doubt that this
is a valuable and powerful programming en¬
vironment.” Computer Languages Feb. ’86
”... execution times are very good, close to the
best on most tests ...” PC Tech Journal Jan. ’86
“ Easily one of the fastest compilers overall...
library provides a lot of flexibility ... generates
small .EXE files.” Dr. Dobbs Journal Aug. ’85
C’Prime (Compiler, Assembler, Linker) $ 99.
Aztec C 86-d Developer’s System $299.
Aztec C 86-c Commercial System $499.
PC ROM (8086, 68000, 8080, or 6502) $750.
Third Party Software for Aztec C: HALO, PHACT, C-tree,
PRE-C. Windows for C, PC-lint, PANEL, Greenleaf, db Vista,
C-terp, Plink-86, FirsTime, C Util Lib,
and others.
You’ve got some time for fine tuning.
The Manx Aztec C Profiler examines
your program, tells you where the slow
spots are and validates your test pro¬
cedure. A few changes and it’s exactly
what you wanted.
You’ve made it!
Aztec C is available for MS-DOS/PC
DOS. Call for details on Macintosh,
Amiga, Apple II, CP/M-80,
CP/M-86, TRS-80, ROM and others.
To order, or, for information
Call Today
1 - 800 - 221*0440
In NJ or outside the USA call
(201)542-2121
30-day satisfaction guarantee. Special Discounts
are available to professors, students, independent
developers, and on a “trade-in” basis. Site licenses.
Manx Software Systems
One Industrial Way
Eatontown, NJ 07724
MS is a registered TM of Microsoft, Inc., CP/M TM DRI, HALO TM Media Cybernetics, PANEL TM
Roundhill Computer Systems, Ltd., PHACT TM PHACT Assoc., PRE-C, Plink-86 TM Phoenix, db
Vista TM Raima Corp., C-terp, PC-lint, TM Gimpel Software, C-tree TM Faircom, Inc., Windows for
C TM Creative Solutions, Apple II, Macintosh TM Apple, Inc., TRS-80 TM Radio Shack, Amiga TM
Commodore Int'l.
CIRCLE NO. 208 ON READER SERVICE CARD
BASIC
Because of their goals of compati¬
bility with BASICA, both Professional
basic and BetterBASic implement the
FIELD statement in the same way.
BetterBASic also offers an alternative
means of record I/O that is by far the
best of all the BASICS reviewed here. It
implements a STRUCTURE data type,
which is described below.
The record I/O of the other prod¬
ucts makes BASICA’s FIELD statement
appear quite effective in comparison.
Most of them require constructing a
record by string concatenation, but
provide no means of guaranteeing the
correct record length.
At first glance, Summit Software’s
BetterBASic seems to be a no-lose prop¬
osition. The current release (2.0) is al¬
most fully compatible with BASICA, yet
it provides many extensions that make
it suitable for serious applications de¬
velopment. It can even read BASICA
tokenized or ASCII hies directly.
BetterBASic is halfway between a
compiler and an interpreter. Program
lines are checked for syntax at entry,
and converted to an intermediate code
that is processed much further than
BASICA’s tokenized format. This makes
screen response in the editor somewhat
sluggish, because the program must be
recompiled for each new or changed
line, but it results in a quicker execu¬
tion time and the location of all errors
before execution begins. Otherwise, the
screen interface is quite similar to
BASICA’s. An optional runtime system
allows the creation of stand-alone .EXE
hies that are executable from DOS.
Foremost among BetterBASic’s ex¬
tensions is full utilization of memory:
more than 300KB of program and data
space on a 640KB system. Furthermore,
a full set of structured programming
constructs is provided: multiline IFs,
several forms of FOR, DO, and WHILE
statements (but no CASE), and call-by¬
name subroutines and functions with
passed parameters and local variables.
GOTOs and GOSUBs are supported for
compatibility with BASICA; however,
structuring is enforced by disallowing
branches into a loop and requiring only
one NEXT per FOR statement.
BetterBASic strings and arrays may
be either static (fixed size) or dynamic
(size may change during execution).
The manual recommends the former
for efficiency, but the more flexible dy¬
namic storage allocation is available
when needed. Two advanced features
are borrowed from the C language:
structures and pointers. A structure is a
collection of various data types into a
single named entity. It is especially use¬
ful for specifying the layout of hie rec¬
ords and is easier to use than FIELD
(also available in BetterBASic). Because
of structures, BetterBASic’s handling of
record-oriented hie I/O is the best of all
the products reviewed.
The STRUCTURE statement, similar
in concept to Pascal’s RECORD, is a list
of data helds of various types and
lengths collected into one named entity.
The big difference between STRUC¬
TURE and FIELD is that helds are not
limited to string data, but may be de¬
clared as any type supported by the lan¬
guage. For the numeric and pointer
types, the type itself sets the length; for
strings, the length is specihed in the
record dehnition. (Strings within rec¬
ords are static; their length cannot
change dynamically.) Unlike the FIELD
statement, which is dehned for a partic¬
ular hie, a record name has no relation
to a hie until it is mentioned in an I/O
statement. The helds of a structure may
be used just as any other BASIC vari¬
ables, without the need for special con¬
version (MKI$, CVI, etc.) or assignment
functions (LSET, RSET).
Pointers can be used for imple¬
menting linked lists in memory or for
saving the address of an oft-referenced
element of a multidimensional array
(this saves the time of repeatedly recal¬
culating the address). Unlike C, how¬
ever, BetterBASic does not allow manip¬
ulating the value of the pointer itself,
only the item pointed to. For example,
if X is a pointer to an integer, X + 1 in¬
crements the value of the integer that X
points to; it does not increment X to
point to the next integer in an array or
structure. Pointers are manipulated with
the SET statement, and they may be set
to point to a variable or to wherever
another pointer is pointing. Therefore,
if pointer X points to A(I), it is moved
to the next element of A by the state¬
ment SET X TO A(I+1). If A and Y are
pointers to the same type of data, then
the statement SET X TO Y will set X to
point to the same data that Y is pointing
to (that is how a program would follow
the pointers in a list structure).
Except for the primitive GOSUB
procedures and single-line functions,
BetterBASic supports only external sub¬
programs. The implementation is simi¬
lar to that in advanced structured lan¬
guages such as C and Pascal: arguments
are passed either by value or by refer¬
ence, and variables are local unless de¬
clared public. Unlike the other BASICS,
procedures are invoked simply by using
their names, not by a CALL statement.
Furthermore, arguments need not be
enclosed in parentheses, so the name of
a procedure is used as if it were a key
word of the language.
The concept of families is an inter¬
esting feature of BetterBASic’s imple¬
mentation of subprograms. A number of
subprograms (procedures or functions)
may be defined with the same name
but different argument lists. When a
subprogram of that name is invoked,
the system matches the argument list
with the declared parameter list of each
member of the family and executes the
one whose parameters match the actual
arguments in number and type. Another
interesting feature is that arguments
may be declared optional; if omitted,
they take on a default value. Further,
BASICA has a key-word argument type
that is somewhat analogous to enumer¬
ated data types of Pascal, allowing the
assignment of descriptive names to each
of a range of integer values.
One criticism about BetterBASic
subprograms is the way that library hies
are handled. External programs may be
B ecause of structures,
BetterBASlCs handling of
record-oriented file I/O is the
best of all the enhanced
BASICS reviewed here.
appended to the calling program or col¬
lected in library modules. In the latter
case, however, the library hies needed
by a given program are named not in
the calling program, but in a configur¬
ation hie that is processed when Better¬
BASic is loaded. This makes it quite in¬
convenient to tailor the list of libraries
for each application.
Its handling of variable declarations
is perhaps BetterBASic’s worst feature.
As in Pascal and C, the type of each
JUNE 1986
57
How to make IBM’s most
powerful personal computer
even more powerful*
PLUG IN QUADBOARD -AT
Quadboard a sophisticated combination of multifunc¬
tions and expanded memory. Quadboard-AT
unlocks the full potential of the PC AT, to
make IBM’s most powerful personal com¬
puter even more powerful.
Fully Compatible with
EMS
POWERFUL MULTI-
FUNCTIONS WITH EXPANDED
MEMORY.
Quadboard-AT begins with a printer port and two com¬
munications ports. Add on printers, modems, or other
communications devices in a snap. And because
Quadboard-AT features expanded memory, you
can take full advantage of the AT’s™ powerful
RAM capabilities. Add from 512K to 3.5 megabytes of
extra memory to process information faster and more ef¬
ficiently than ever before.
Expanded Memory
Specification
COMPATIBILITY FOR THE FUTURE.
With Quadboard-AT, you get full compatibility with
the expanded versions of all your
favorite software. Like Lotus 1-2-3™,
Symphony™, and Windows 0 . While other
boards lock you in to the 640K DOS limit,
Quadboard-AT gives you freedom to grow.
Now and in the future.
THE BOTTOM LINE IS VALUE.
Quadboard-AT comes with QuadMaster @ III utility
software and a two year warranty (1.5 Mb versions).
No other AT board on the market delivers more for
the money. Visit the Quadram dealer nearest you to
get the full story on this powerful new enhancement.
Or contact us at One Quad Way, Norcross, Georgia
30093-2919; 404-564-5566.
j QUADBOARD-AT
AST ADVANTAGE!™
M EXPANDED MEMORY.
jFully compatible.
If FEATURES.
JTwo serial ports standard.
If RELIABILITY.
JTwo year warranty.
SfVALUE.
The choice is obvious.
□ EXPANDED MEMORY.
Incompatible.
□ FEATURES.
One serial port standard.
□ RELIABILITY.
One year warranty.
□ VALUE
Less for the money.
QUADRAM
J An Intelligent Systems Company
CIRCLE NO. 147 ON READER SERVICE CARD
Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corp., IBM Personal Computer AT is a trademark of International Business Machines, Inc. Quadboard, QuadMaster
and the Quadram logo are registered trademarks of Quadram Corp. Windows is a registered trademark of Microsoft, Inc. AST Advantage is a registered trademark of AST.
BASIC
variable (BYTE, INTEGER, REAL,
STRING, POINTER, STRUCTURE, or an
array of any of these) must be declared
at the beginning of the program. Al¬
though this is at odds with the spirit of
the BASIC language, in itself it is not as
onerous as it may seem. An AUTODEF
switch can be set to generate declara¬
tions automatically from the first use of
each variable in the program.
The problem is that BetterBASic
hides declarations from the program¬
mer. Type declarations are difficult to
display and sometimes impossible to
change. Whether typed by the user or
generated by AUTODEF, declarations
are entered without line numbers as if
they were immediate commands, and
they are not displayed with the program
by the LIST command. Declarations can
be displayed only by LIST DATA, or
both declarations and the entire pro¬
gram can be displayed by LIST ALL.
Even worse, these declarations are
very difficult to change from within
BetterBASic. Attempts to redeclare a vari¬
able with a different type or to change
the size of an array generate the mes¬
sage “Variable already defined.” The
CHANGE command alters the type of a
numeric variable or the size of a static
string, but the program does not allow
the user to change the size of a static
array, switch a variable from array to a
scalar, or delete an array declaration.
Working around the declaration
drawbacks is possible (though inconve¬
nient). The DELETE command removes
a scalar, but not an array, from the dec¬
laration section. An array declaration
can be deleted if it is in the BASICA
DIM format, because BetterBASic is suffi¬
ciently compatible to allow the same
syntax. When all else fails, declarations
may be changed by writing out the pro¬
gram with its declarations to an ASCII
file, exiting BetterBASic, modifying the
file with a text editor, then reading it
back into BetterBASic. The declaration
scheme is one of the roughest of sev¬
eral rough edges in BetterBASic.
The screen editor is essentially the
same as BASICA’s, but as previously
mentioned, its response is sluggish
enough to negate much of the immedi¬
acy of an interactive interpreter. The
Enter key generates keystrokes faster
than the interpreter can process each
line. Pressing Enter on a previously dis¬
played OK prompt generates an error
message (in BASICA, the OK line is
blanked out with no message). Reading
an ASCII file often generates an “Input
past end” message, even though the file
is read and interpreted correctly. If an
ASCII source file contains errors, those
lines are listed and flagged but do not
become part of the program in mem¬
ory; converting them to comments
would be more useful.
Compatibility with BASICA is good
but not complete. All BASICA statements
are implemented except the USR func¬
tion (an alternative way to call assembly
language functions is provided) and
those that provide support for cassette
I/O, light pen, and game adapter. Some
statements are partially implemented. In
particular, DRAW supports only a subset
of the BASICA graphics language: values
in the DRAW string must be constants,
not variables, and execution of a sub¬
string with the X subcommand is not
supported. These are serious limitations
of the BASICA graphics capabilities.
Documentation is provided in a
thick binder. It is not typeset, but the
text is easily readable. The early sec¬
tions are geared to the novice, whereas
the reference section is short on expla¬
nations and examples, especially for the
features that BetterBASic shares with
BASICA. This manual should be used
along with, not instead of, BASICA’s.
Editing is a bit careless; some of the key
words are out of alphabetic sequence,
and some explanations have not been
fully updated to reflect version 2.0.
The underlying design philosophy
of BetterBASic is quite good, and it has
several impressive features. The current
implementation, however, still leaves a
little to be desired..
The noteworthy features of BB X are bi¬
nary-coded decimal (BCD) arithmetic
with 14-digit accuracy, call-by-name sub¬
routines with local arguments, and im¬
plementation of keyed files. This sys¬
tem, which was ported to DOS from
UNIX, makes no concessions to BASICA
compatibility or even to any of the con¬
veniences provided by DOS. The lan¬
guage is very limited, with no support
for communications, graphics, sound, or
event trapping. Even PEEK and POKE,
which are staples of most BASIC dia¬
lects, are not implemented.
The BB X system lacks a functional
program editor. Full-screen cursor con¬
trol is not provided. The only available
editing key is the destructive backspace,
and that is in effect only while a line is
being entered. An EDIT command al¬
lows changing existing lines in the pro¬
gram, but it does not present the target
line for editing by overtyping, inserting,
or deleting. Instead, the user must spec¬
ify how much of the line to retain, how
much to delete, and where to replace
or insert text. In most cases, retyping
the whole line is much easier.
A utility program, written in BB X it¬
self, purports to be a full-screen editor
for BB X programs. It is activated by an
immediate CALL command and allows
full-screen cursor control as well as
overtype, insert, and delete editing. The
documentation for the edit program is
poor, and it advises the user to “experi¬
ment with the edit program as an alter¬
native to the EDIT command.” A help
file is provided, but it is not accessible
unless it resides on drive A:. A serious
drawback is the lack of large-scale navi¬
gation commands, such as page down,
go to a specified line, or search for a
given string. To move 100 lines up or
down in a program, the user must lean
on the cursor key and wait while that
many lines scroll by. This editor is of
marginal utility at best.
To compound the problem, BB X
cannot read in source code prepared by
an external editor. All programs have to
be created and modified within the sys¬
tem, and they are saved in a tokenized,
non-ASCII format that is not readable by
any other program.
When saving a program for the first
time, the size of the file must be speci¬
fied along with its name. Fortunately, if
the size is too small for the program, it
is extended, but if too large, disk space
is wasted. Random and keyed files must
have a record count specified at crea¬
tion; they cannot be extended. Before a
program of any size is run, sufficient
memory must be allocated.
The use of decimal floating-point
representation for all numbers (integers
are not implemented) takes its toll in
memory usage, because each of these
numbers is ten bytes long. Two ver¬
sions of BB X are supplied: a small
model with 32KB of workspace and a
large 64KB model. As a result, BB X
could not run the standard sieve bench¬
mark with an array dimensioned to
8,191, because that would require more
than 80KB of memory. Although all
arithmetic is performed in decimal,
functions are included to convert values
to and from strings containing binary
JUNE 1986
59
Evercom™... 1200 baud, $249
Evercom is a trademark of Everex Systems, Inc. IBM PC and XT are registered trademarks of International Business Machines Corp. Hayes 1200B is a trademark of Hayes Microcomputer Products Inc.
CIRCLE NO. 134 ON READER SERVICE CARD
Now the EVEREX Evercom
modem is available on a half-size
card, perfect for the short slots in the
IBM XT, Portable, and many
compatibles. EVEREX has
combined innovative engineering
and technology to produce a quality
Hayes-compatible 1200 baud
modem that out performs the
competition at a lower price.
EVEREX engineering is the key
ingredient that delivers QUALITY
and FEATURES without sacrificing
PRICE.
Before you buy a modem, check these features:
• 300/1200 bps Haves-compatible
EVERCOM
YES
HAYES 1200B
YES
• Half-size card
YES
YES
• Automatic dialing, answering,
and redialing
YES
YES
• Call Progress Monitoring
• Configurable from COM1 - COM4
• Internal Speaker with software
adjustable volume control
YES
YES
YES
YES
NO
YES
• Tone and pulse dialing
YES
YES
• Automatic data-to-voice
transition
• Detects receiver off-hook
• Reports speed mismatch
• Supports 132 columns
• Communications software included
• Extended Hayes command set
• List price
YES
YES
YES
YES
YES
YES
$249
NO
NO
NO
NO
NO
$489
Demonstration — FREE
Brochure
Remember, before you buy a
modem, check the features, check
the price, and then call EVEREX to
set up a demonstration at your local
dealer.
When you call, we will also send
you the total solution brochure
describing EVEREX’s complete line
of IBM microcomputer peripherals.
1 - 800 - 821-0806
in California
1 - 800 - 821-0807
EVER for Excellence
48431 Milmont Dr. Fremont CA 94539
(415) 498-1111
BASIC
IEEE format. Such values, when written
to data files, may be read by programs
written in other languages.
The file system supports three
types of files: byte, random, and keyed.
Random and keyed files have fixed-
length records up to 32KB each; keys
can be up to 64 bytes: A record in a
keyed file can be found simply by spec¬
ifying a key value in the READ or
WRITE statement. The file system has
two problems. First, text files with vari¬
able-length records delimited by CR/LF
are not supported in a useful way. Al¬
though scanning file input and branch¬
ing out of the I/O statement on speci¬
fied input characters (such as CR and
LF) is possible in a convoluted way, it
is no match for the convenience of
BASICA’s LINE INPUT statement.
Second (and this is ironic for a
product with Business as part of its
name), BB X has no concept of a file rec¬
ord as a collection of fields of various
data types. Each record is read into or
written from a single string variable, but
no special functions are provided to
guarantee that the concatenation of
fields is of the correct length. While
numeric variables can be read or writ¬
ten directly with standard list I/O, true
record I/O is not accomplished so eas¬
ily. The documentation is not clear on
this point, but it appears that the only
way to write numeric data to a record
file is to convert the data to ASCII or
IEEE strings and then concatenate them
into a single string the length of one
record. The former exacts a penalty in
both processing time and storage space,
w r hile the latter loses accuracy, which is
the reason for using decimal represen¬
tation in the first place.
The BB X documentation suffers
from a lack of detail. The manual is pri¬
marily a reference with very little expla¬
nation and even fewer examples. One
of the programs most useful features,
keyed files, is inadequately covered. Al¬
though two kinds of keyed files are
mentioned—sort files containing keys
only and direct files containing both
keys and data—the use of sort files is
not explained. Are they to be used
when the whole record is the key or
for pointing to data records in another
file? These questions are not answered.
One bright spot in BB X is the im¬
plementation of external procedures
(external functions are not imple¬
mented). Call parameters may be
passed either by value or by reference.
Variables may be local or global, but
this is an all-or-nothing proposition:
either all the variables of the caller or
none of them except the parameters are
accessible from the called program. The
program has no capability to share only
some of the variables. With local vari¬
ables, the procedure may call itself re¬
cursively. An external program resides
in a separate file and is loaded from
disk at the time it is called; it is nor¬
mally dropped from memory when it
exits. However, frequently called proce¬
dures can be made resident for the du¬
ration of the main program’s execution.
This feature works well and is ade¬
quately documented, but it does not
make up for the shortcomings of BB X .
American Planning Corporation’s prod¬
uct, known as apc basic in earlier incar¬
nations, is a well-conceived implemen¬
tation of BASIC, but it is at a disadvan¬
tage on the PC because it is written for
a generic DOS machine. That means it
offers no graphics, communications, or
sound support, because each of these
features must be tailored to a specific
hardware configuration. Apart from this
lack of full support for the PC hard¬
ware, megabasic’s only other major dis¬
appointment is the lack of a multiline IF
structure. Extensions to BASICA’s capa¬
bilities include full memory utilization,
loading of several programs into sepa¬
rate workspaces, recursive subprogram
calls, and low-level system access, mega-
basic can even be used for writing in¬
terrupt service procedures.
megabasic is a true interpreter. Like
BASICA, it does not discover most
errors until the flow of execution
reaches them. Once programs are fully
developed, they may be executed by
the supplied runtime system, which is
merely the interpreter without the edi¬
tor and immediate command processor.
It runs slightly faster than the full sys¬
tem and produces tokenized source
files that are somewhat smaller.
megabasic’s internal editor is not
very good, as might be expected from a
generic implementation. The EDIT com¬
mand enters a mode similar to the up¬
date mode of EDLIN, but the edit mode
is controlled by Ctrl-letter combinations
instead of function keys. Block move
and search and replace functions are
provided, and the editor keeps track of
unsaved changes and asks for permis¬
sion to delete them when loading a
new file or exiting from BASIC.
Source code may be read and
saved in either ASCII or tokenized
format, so an external editor can be
used. Saving ASCII files is not very con¬
venient, because the program must be
written to a file number. The file is first
opened to assign a name to the num¬
ber, then the program is saved, and the
file must be closed. If left open, the
next save appends another copy of the
program to the end of the file.
megabasic integers are two words
long, able to represent numbers with
an absolute value of more than 2 bil¬
lion. Real numbers are represented in
decimal floating-point format, with the
accuracy selectable between 8 and 14
digits. Variable names may be as many
as 250 characters long, and all charac¬
ters are significant. That limit is obvi¬
ously not practical because each pro¬
gram line is limited to 255 characters.
Strings are static, meaning that their
maximum length must be declared. In
effect, a string is an array of characters
and always consumes the same amount
of memory. As in BASICA, undimen¬
sioned arrays default to a size of 10.
String handling is definitely mega¬
basic’s strong suit. It has a comprehen¬
sive set of string operations not found
in most other BASICS. Besides the com¬
mon concatenation and comparison,
megabasic provides operators for taking
the difference, maximum, minimum,
and match of two strings; other opera¬
tors perform bitwise logical operations
(AND, OR, NOT, XOR, etc.).
The DIFFERENCE operator is inter¬
esting: the result of A$-B$ is a string
with only the characters that appear in
A$ but not B$. One typical use would
be count occurrences of particular char¬
acters in a string. LEN(A$)-LEN(A$-“x”)
determines how many times x appears
in A$. The MATCH operator builds a
string with CHR$(255) in every position
where two strings are equal, and
CHR$(0) where not equal. MIN and
MAX get the lower or higher of the
characters in corresponding positions.
megabasic has many other string func¬
tions, including comprehensive parsing
and searching capabilities.
This implementation of the lan¬
guage suffers some annoying incompati¬
bilities with BASICA. In some cases the
syntax seems to have been arbitrarily
changed: multiple statements on one
line are separated with semicolons, not
JUNE 1986
61
Magic Card II ...Multifunction, $199
T he EVE REX Magic Card II is
the multifunction card that has
the features you want at a price you
can afford. It can even take an
original PC, with a 64K mother¬
board, to 640K of RAM. Installation
is a snap with our unique TESTER
program that runs independently
and shows exactly where to install
RAM and how to set the options.
Why pay almost twice as much
to get less? EVEREX combines in¬
novative engineering, technology,
and quality manufacturing to bring
you a quality product that out
performs the competition at a
lower price. EVEREX engineering
is the key ingredient that delivers
QUALITY and FEATURES without
sacrificing PRICE.
Magic Card II in Action
See for yourself what the
Magic Card II can do. Call EVEREX
today for the name of the EVEREX
dealer near you.
You’ll be convinced that—
EVEREX is EVER for Excellence
too!
1-800-821-0806
in California
1-800-821-0807
48431 Milmont Dr. Fremont CA 94539
(415) 498-1111
Magic Card II is a trademark of EVEREX SYSTEMS, Inc.
SixPak Plus is a registered trademark of AST Research, Inc.
Before you buy a multifunction card, check these features:
EVEREX AST
Magic Card II Sixpak Plus
• Uses 64K or 256K Ram Chips
YES
NO
• Battery Backed Clock/Calender
YES
YES
• Parallel Port Standard- LPT 1—LPT3
YES
YES
• Two Serial Ports Standard- COM 1 —COM4
YES
NO
• Game Port Standard
YES
NO
• Adds up to 576K RAM
YES
NO
• RAM disk and print spooler software
YES
YES
• Available with zero RAM
YES
NO
• Compatible with 8MHZ operation
YES
NO
• List Price
$199-OK
$395 -64K
CIRCLE NO. 135 ON READER SERVICE CARD
BASIC
colons; the termination of a WHILE
loop is NEXT, not WEND; no PEEK and
POKE functions are included, only simi¬
lar functions that read or write to mem¬
ory as if to a file; segments are defined
with SEG instead of DEF SEG.
megabasic’s file system supports
text and binary hies. The implementa¬
tion of text hies holds no surprises.
Binary hies, however, are unusual in
that they have no concept of a record;
the hie is considered a string of bytes
and positioning is by byte count. To
read a particular record requires calcu¬
lating a byte offset by multiplying the
record number by the record length.
The layout of the record is specihed in
each I/O statement by giving the length
and type of data to be read into each
variable in the I/O list. Whether this is
an improvement over BASICA’s FIELD
statement is questionable. The cryptic
length and type codes interspersed
among the variables in the I/O list make
for difficult reading. Furthermore, pro¬
gram maintenance is made more diffi¬
cult by hiding the record layout in the
executable code and replicating it in
multiple I/O statements instead of iso¬
lating it in a declaration section at the
beginning of the program.
Of all the products reviewed here,
megabasic provides the most sophisti¬
cated facilities for modular program¬
ming. It implements recursive internal
procedures and functions with argu¬
ments passed either by value or by
reference. All variables are global un¬
less expressly declared local.
megabasic also supports external
program modules in separate files. Up
to 64 of these may be loaded into mem¬
ory at once, each into its own work¬
space (provided that the system has suf¬
ficient memory). By default, the scope
of subprogram names and variables is
local to that module, but each module
may declare public resources (func¬
tions, procedures, and data variables)
that are to be accessible from other
modules. At runtime, modules are
loaded into memory only when specifi¬
cally requested and remain there until
specifically dropped. A module may
have a prologue procedure that is exe¬
cuted at load time and an epilogue that
runs when the module is dropped.
Once a module is loaded into
memory, its public resources are not
accessible to other modules until the
scope of accessibility is defined. A mod¬
ule can allow other modules to access
its public resources, request access to
the public resources of other modules,
or specify that access be allowed from
any module to any or all other mod¬
ules. This provides a great deal of con¬
trol over the scope of variables and
other program resources. It also facili¬
tates the implemention of large-scale
modular applications.
The interface to assembly language
routines is somewhat unusual in mega¬
basic, because parameters are passed
only via the registers, not on the stack.
The user accesses the machine registers
from BASIC by concatenating the value
for each register into a string and call¬
ing the assembly language interface
routine that actually loads them.
megabasic 's documentation con¬
tains just the right blend of reference
material and explanation. Organization
would be improved if each major sec¬
tion presented commands, key words,
functions, etc. in alphabetic order rather
than by subject. The text is typewritten
and reduced in reproduction, so it is a
little hard to read.
megabasic is quite impressive for
what it is: a BASIC interpreter for a
plain-jane DOS machine. Lack of PC-
specific features, however, significantly
reduces its usefulness.
Unlike the other products reviewed,
which are dialects of the BASIC lan¬
guage and/or supersets of BASICA, Pro¬
fessional basic is a development envi¬
ronment for BASICA programs. Specifi¬
cally, it provides comprehensive debug¬
ging facilities to trace the execution of
BASICA programs, using an involved
windowing system. (See photo 1 for a
typical split-screen window display.)
Most of the BASICA capabilities are im¬
plemented, but with significant omis¬
sions. Specifically, these major com¬
mands are not available: BLOAD and
BSAVE, DRAW, graphics GET and PUT,
PLAY, VIEW, and WINDOW. Nor is sup¬
port provided for interrupt-driven serial
communications, light pen, and game
port. If these facilities are not essential,
Professional basic can be a useful tool.
The design philosophy underlying
Professional basic is to increase commu¬
nications between program and pro¬
grammer over that provided solely by
the program’s output. To this end, the
system provides 14 different windows
into various aspects of the program’s
operation. In some respects, this is an
embarrassment of riches, and the user
is easily lost in the window structure.
Professional basic reads and writes
only ASCII source files. When a pro¬
gram is loaded from disk or typed from
the keyboard, each source line is semi¬
compiled into an intermediate pseudo¬
code, which cannot be saved. All source
errors are found before execution be¬
gins. The editor is very similar to
BASICA’s—although different enough to
be annoying. The cursor cannot be
moved over the screen at will; instead,
the F9 and F10 keys copy the previous
or next source line onto the command
line at the bottom of the screen; there it
may be edited as if by the EDIT com¬
mand. Alternatively, the user can enter
the EDIT command with a line number,
as is the case in BASICA.
The Professional basic editor pro¬
vides several enhancements, including a
SEARCH command that lists all lines
containing a given string or highlights
all occurrences of that string in the
statements' displayed on screen. The
value of this feature is compromised by
the lack of full-screen cursor control. A
SORT command lists all variables in
alphabetic sequence, but does not
create a cross-reference of line num¬
bers where the variables are used.
Professional basic has two basic
types of windows: execution and trac¬
ing. When the program is loaded, it
brings up the execution system’s con¬
trol window. There, the user loads the
program, performs editing, and issues
immediate commands. Another execu¬
tion-type window is the* print window,
which appears when the RUN command
is issued and which receives the pro¬
gram’s PRINT output and echoes its key¬
board input. The control window is
reinstated when the program terminates
or is interrupted with Break.
The tracing system, which contains
12 windows, is entered by invoking the
SRUN command or by pressing an Alt-
letter combination that identifies the
window. Once within the trace system,
single-letter commands switch between
the various windows, including the ex¬
ecution windows, or display any two
trace windows side-by-side. The trace
windows are listed below.
• The list window is entered by the
SRUN command or by execution of a
breakpoint in the program. It shows a
structured listing of the program with
single statements per line, multiline
JUNE 1986
63
Thanks to our local and remote
cations solutions, your PCs now have total access to
world around them. They can talk to other PCs. Share
hardware and software. And take advantage of all the
major networking standards. From NetWare to NETBIOS
to SNA to X.25.
G/NET™ is our high-performance, low-cost
Local Area Network for IBM PCs, XTk, Aik and compat¬
ibles. Incorporating the Novell NetWare/G family of LAN
operating systems, G/NET offers electronic mail, print
spooling, multiple file and communications servers, and
access to over 3,000 LAN applications.
And with our G/NETBIOS™ emulation option,
G/NET can even run programs developed for IBM’s PC
Network or Tbken Ring. This gives you the best of both
worlds: IBM LAN software compatibility coupled with
the performance advantages of G/NET hardware.
Our G/SNAnet™ gateway provides SNA mainframe
links for networked PCs. Up to 32 concurrent sessions
are supported through one shared, board-level controller.
Each PC can switch between 3270 emulation, 3770/RJE
emulation, and local PC-DOS or LAN applications.
Our G/X25net™ LAN gateway lets
multiple G/NET users access remote LANs, main¬
frames and dial-up services. Over X.25 trunk lines
or public networks such as Telenet and Tymnet. Finally,
our G/Async™ and G/Carbon Copy™ links can be used
in a variety of async applications.
Think of us as your PC SafetyNet™ In addition
to our cost-effective products, we offer the security of a
total solution supplier. With complete service and support.
Continued innovation so you won’t be left behind with
yesterday’s technology. And assured performance and
reliability. Just ask any one of our more than 50,000 users.
So call today for your local Gateway distributor or
dealer. And let your PCs explore our gateway to anyware.
QateiMH
^^communications, inc.^^
Ifour PC SafetyNet.™
CIRCLE NO. 141 ON READER SERVICE CARD
16782 Red Hill Ave„ Irvine, CA 92714. (714) 261-0762.
G/NET, G/NETBIOS, G/SNAnet, G/X25net, G/Async, G/Carbon Copy and SafetyNet are trademarks of
Gateway Communications, Inc. IBM is a trademark of IBM Corp. NetWare/G is a trademark of Novell Inc.
BASIC
IFs, and indented block structure for
IFs and loops. As the program is exe¬
cuted in single-step or sequential
mode, each statement is highlighted
in inverse video. Pressing Enter be¬
gins execution; pressing the Space Bar
suspends execution or executes only
the next statement. Options within the
list window allow statements that have
not yet been executed to be high¬
lighted; the user also can display
counts and histograms of execution
frequency for each statement. On a
system with a color/graphics adapter,
the highlighting is in blue; on a
monochrome monitor, however,
those lines would be unreadable. A
FINETRACE option shows the pro¬
gress through the component parts of
a statement—for example, a compli¬
cated arithmetic expression.
• The time window displays program
statements in the order they are exe¬
cuted. When tracing a loop, the loop
statements are listed anew for each
iteration. (In the list window, the
highlight returns to the top of the
loop on each iteration; the loop state¬
ments appear only once.) The value
of this window is questionable, be¬
cause the list window shows the same
information in a more useful fashion.
• The pseudocode window traces exe¬
cution through the elementary
pseudocode instructions that are gen¬
erated from the source code. The
code is displayed in understandable
English; for example, the statement
X% = Y% + Z% generates “Load
value of Y% to LA, Add value of C% to
IA, Store IA to A%.” IA is one of two
integer registers; also provided are
two single-precision, two double-pre¬
cision, two string, and three index
registers. At the user’s option, the ap¬
plicable registers can be displayed at
the top of the window. For most pro¬
grams, the pseudocode window has
marginal value, because it applies
more to the internal operation of Pro¬
fessional basic than to the operation
of the program being traced.
• Five windows are available for tracing
data values. The data window shows a
list of DATA statements and highlights
the next value to be read. The vari¬
able window displays the values of all
scalars in the program, the array
window shows arrays in a single col¬
umn, and the matrix window has two-
dimensional, single-precision arrays in
rows and columns. Navigation keys
are used to scroll to the beginning of
the next array or to scroll by as many
as 10,000 elements in either direction.
The fifth window is for disk I/O and
PHOTO 1: Trace Windows
Professional BASIC’s trace windows
show indented code of SIEVE.BAS on
the left, array updates on the right.
shows the contents of file buffers for
each open file.
• The memory window displays the
contents of an arbitrary memory ad¬
dress in the segment specified in the
last DEF SEG statement; it is especially
useful for tracing PEEKS and POKEs.
• The FOR/NEXT window displays up to
four active FOR loops, showing the
loop limits and the current value of
the loop variable.
• The GOSUB window shows the path
through nested subprogram calls.
• Finally, the print trace window is a
copy of the execution system’s print
window. This allows splitting the
screen between print output and any
of the trace windows (the screen can¬
not be split in the execution system).
The two windows can be automati¬
cally switched each time the output
goes to the side of the screen contain¬
ing the trace window.
As mentioned previously, Profes¬
sional basic is intended primarily for
developing programs, not running
applications. The manual suggests that
applications be designed to run under
BASICA or even be compiled with a
BASiC compiler.
Other details underscore the fact
that Professional basic is a developer’s
tool rather than a vehicle for end-user
applications. BASICA lets the developer
protect an application with the ,P option
of the SAVE command. This option en¬
codes a source file and prevents an end
user from listing or editing it. Some de¬
velopers use ,P for modular program¬
ming, protecting each section of code
after it has been thoroughly tested. Pro¬
fessional basic has no equivalent of the
,P command; source is always displayed
and the editor is always active.
Some enhancements to Profes¬
sional basic preclude its use if BASICA
compatibility is important. Foremost
among these is the use of named labels
instead of line numbers as targets of
GOTOs and GOSUBs. Program lines
can be up to 311 characters long; vari¬
able names can have 308 significant
characters; and integers are two words
long, allowing absolute values of more
than 2 billion. However, integer data
written to files via a FIELD statement
can be limited to two bytes, if desired.
Other major differences between
Professional basic and BASICA are that
all arrays must be dimensioned (they
do not default to 10 elements), arrays
and scalars must have distinct names,
and only one NEXT per FOR and one
WEND per WHILE are allowed. These
requirements, which are more restric¬
tive (but desirable from the standpoint
of programming style) in Professional
basic than in BASICA, might prevent a
BASICA program from running in Pro¬
fessional basic, but not vice versa.
The Professional basic manual does
not claim to be an exhaustive reference;
the user is warned to use it as a supple¬
ment, not a replacement, for the
BASICA documentation. The explanation
of the labyrinthine window system is
not very well organized and contains no
reference section. Instead, the user is
walked through many example pro¬
grams (all provided on disk). This is
fine for learning, but not very useful
several months down the road in the
middle of a debugging session.
Professional basic is a novel con¬
cept, well executed, and could be very
useful for developing applications that
do not need the missing features.
Developed by the inventors of the origi¬
nal BASIC language, True basic boasts a
few advantages over BASICA—the pri¬
mary one being the use of structured
programming constructs, such as multi-
line IF, DO WHILE, DO UNTIL, and
CASE statements and separately com¬
piled subprograms with local variables.
Older style GOTO and GOSUB state¬
ments are also supported for compati¬
bility with earlier versions of the lan¬
guage. Line numbers are optional, but
JUNE 1986
65
Get started in AI
with Gold Hill.
You know artificial intelligence is the
wave of the future. Programs based
on the ideas of artificial intelligence
are being written today in Common
Lisp-the new Lisp standard
developed by researchers from
universities and corporations
such as Carnegie Mellon, DEC,
MIT, Stanford, Symbolics
and TI. Lisp allows the devel¬
opment of programs that are
intelligent, flexible, and even
human-like. The problem has
been that hardware needed to
run Lisp is expensive.
No longer. Golden Common
Lisp (GC Lisp) makes it possible
for you to learn and use Lisp on
use GC Lisp in
AI examples provided, you will be
able to develop such exciting appli¬
cations as expert systems, natural
language systems, and intelligent
interfaces to complex software.
The possibilities are endless. With
GC Lisp you can tackle problems
that you could not solve before
with ordinary number crunching
programs. You will be able to write
powerful programs that can accom¬
modate casual computer users who
want intelligible answers quickly.
Learn Quickly with GC Lisp
GC Lisp makes it easy for you to learn
the technology of AI at your own
pace. Each package includes the San
Marco Lisp Explorer®—an interactive
software tutorial developed by San
Marco Associates with Patrick H.
Winston. This 800-frame instruc¬
tional system guides you through the
steps of Lisp programming and
makes the full range of Lisp’s
power accessible to both novice
and experienced programmers.
The second edition of the classic
Lisp textbook by Winston and
Horn is also included.
GC Lisp comes complete with the
intelligent GMACS editor (based
on EMACS), full on-line documen¬
tation of all GC Lisp and GMACS
functions, the Common Lisp Refer¬
ence Manually Steele, and a com¬
prehensive user manual. In short,
Golden Common Lisp comes with
everything you need to program in
Lisp.
AI language.
NEW!
The GC Lisp 286 Developer
Discover programming power you
never thought possible on your PC
AT! GC Lisp 286 Developer is a
complete programming environ¬
ment designed for GC Lisp-based
applications requiring extended
memory and faster execution.
The 286 Developer includes
a Large Memory Interpreter
capable of addressing 15 mega¬
bytes of physical memory, a Large
Memory Compiler that runs appli¬
cations up to 15 times faster, and a
complete set of program develop¬
ment features including lexical
and dynamic scoping. The 286
Developer is the first PC-DOS pro¬
gramming environment that takes
hill advantage of the speed and
memory capacity of the IBM PC AT
and compatibles, and it’s now avail¬
able to help you develop powerful
and productive AI applications.
Order Today
For more information on Gold Hill
products, please call today:
1-800-242-LISP
In Massachusetts call collect
(617) 492-2071
GC Lisp requires an IBM PC, PC XT, PC
AT, or IBM-compatible with a minimum
of 512K and PC-DOS 2.0 or higher.
GC Lisp 286 Developer is non-copy
protected, and requires an IBM PC AT or
compatible with a minimum of 512K of
base memory, 2 megabytes of extended
memory, ana PC-DOS 3-0 or higher.
© 1986 Gold Hill Computers
GOLD HILL COMPUTERS
163 Harvard Street, Cambridge, Massachusetts 02139
Golden Common Lisp, GC Lisp and GC Lisp 286 Developer are trademarks of Gold Hill Computers. The San Marco Lisp Explorer is a registered trademark
of San Marco Associates. Lisp is copyrighted by Addison Wesley Publishing Company, Inc. The Common Lisp Reference Manual is copyrighted by
Digital Equipment Corporation. IBM PC, PC XT, PC AT, and PC DOS are trademarks of International Business Machines.
CIRCLE NO. 122 ON READER SERVICE CARD
BASIC
they are an all-or-nothing proposition:
either every line is numbered or none
is. Numbering is required when old-
style branch statements are used.
One feature of True basic that has
received a lot of criticism is the fact that
assignment statements must begin with
the LET key word. This is a requirement
of the proposed ANSI standard for the
BASIC language (see sidebar).
True Basic’s user interface harks
back to the time-sharing heritage of the
language. The system is started by typ¬
ing HELLO and ended by typing BYE,
files are called up by the OLD com¬
mand, and unrecognizable command
errors produce the response, “WHAT?”
The screen presentation, however, is all
modern. Initially, the top 18 lines of the
screen display the loaded program, and
the bottom 7 comprise a history win¬
dow where immediate commands are
typed. The boundary between the win¬
dows can be changed at will. The his¬
tory window can be scrolled to review
previous commands, but unfortunately
these commands may not be reissued
by pointing to them and pressing the
Enter key. Only the current command
line at the bottom of the history win¬
dow accepts keyboard input.
The upper editing window is used
to enter or modify the program. The
editor’s key-driven command structure
is logically designed, and its response
time is acceptably quick. Blocks of lines,
with or without line numbers, may be
moved or copied, and find and replace
commands are implemented.
true basic compiles source pro¬
grams to an intermediate code that exe¬
cutes much more quickly than BASICA’s
tokenized format. Programs may be
saved in either source or compiled
form, but the latter still requires the
True basic system for execution. An
optional runtime system is available for
converting True basic programs into
.EXE files that may be run from DOS.
True basic implements two features
that were a hallmark of the original
time-sharing BASIC. The first is a single
numeric type for all values. BASIC was
designed as an untyped language; inte¬
gers were added to speed it up on
microcomputers. As shown by True
basic’s winning performance in arithme¬
tic benchmarks (see below), the prob¬
lem of speed seems to have been
solved in this implementation.
The second feature is one for
which mainframe BASIC was justly
famous: matrix operations. Single state¬
ments are used to read and write
arrays, copy one array to another, add
arrays, and multiply them by scalars.
Matrix multiplication, inversion, trans¬
position, and calculation of determi¬
nants are provided for two-dimensional
arrays. Functions are available to gener¬
ate specialized arrays such as constant,
identity, and zero matrices.
True basic implements both inter¬
nal and external subprograms. The in¬
ternal variety implements global vari¬
ables only; local declarations are not
supported. Conversely, variables in ex¬
ternal subprograms are strictly local.
Parameters to procedures can be passed
either by value or by reference, but
function parameters are passed by value
only. Because passing by value involves
making a copy of the argument, passing
large arrays as arguments to functions
exacts a penalty in execution time and
memory usage.
Any type of subprogram can be in¬
voked recursively, but in practice, re¬
cursive internal subprograms are not
very useful because they lack private
variables. External subprograms can be
A/i though it does not sup¬
port BASICA’s DRAW state¬
ment, True BASIC provides
an even better graphics
capability through its
PICTURE statement.
appended to the programs that call
them, or they can be collected into li¬
brary files. In the latter case, the calling
program names the libraries it needs,
and the libraries are loaded along with
the calling programs; libraries cannot
be dropped from memory when they
are no longer needed.
The graphics capabilities of True
basic are quite impressive. As in
BASICA, a full complement of com¬
mands is provided for drawing points,
lines, boxes, arcs, and circles. But the
location of any graphic element is spec¬
ified in terms of user-defined coordi¬
nates, not in terms of pixels. By default,
the coordinate origin is in the lower
left corner as on graph paper, not in
the upper left as in BASICA, and each
dimension runs from 0 to 1. These di¬
mensions may be easily changed, and
the direction in which the dimension
increases may be reversed This means
that the BASICA pixel-based coordinate
system may be easily simulated.
Tailoring the screen coordinates to
the data results in very easy graphing.
For example, when plotting annual data
for the years 1980 through 1986, the
horizontal dimension may be defined as
1980-1986, and True basic will automati¬
cally put equal space between the data
points along the horizontal axis.
True basic permits the definition of
windows (both text and graphics) any¬
where on the screen. For graphics, each
window has its own user-defined coor¬
dinates, so the programmer need not
be concerned with window size in
terms of pixels. When text is written to
a window with PRINT statements, its lo¬
cation must be specified in character
rows and columns, but text also can be
plotted at any position in terms of the
window’s graphic coordinates. This al¬
lows printing of text beginning at any
specified pixel location.
Although it does not support
BASIGA’s DRAW statement, True BASIC
provides an even better capability
through its PICTURE statement. A PIC¬
TURE is a subprogram of graphics state¬
ments with parameters whose value
may change at each call, thereby allow :
ing the user to draw one shape in a va¬
riety of sizes, positions, or orientations.
File I/O is True basic’s weak point.
Three kinds of files are supported: text,
byte, and record. Text files are imple¬
mented as in BASICA, with variable-
length records terminated with the CR/
LF sequence. For byte files, an arbitrary
number of bytes can be read into or
written from a string. The implementa¬
tion of record files is at odds with True
basic’s otherwise modem design. Each
fixed-length record can contain only
one item (scalar, string, or array ele¬
ment). When writing items shorter than
the record size, the remainder of the
record is unused, and each ensuing out¬
put item goes into a new record.
Record spanning (the breaking up
of a long data item over several shorter
file records) would be a useful addition
with fixed-length records. An error mes¬
sage is generated if an attempt is made
to write an item that is longer than the
file’s declared record size. In most lan¬
guages that support record-oriented
I/O, a record is a collection of several
items of different types; in True basic,
however, such a collection would have
to be read and written as several rec¬
ords, each of a length equal to the
longest of the items.
In fact, several items can be com¬
bined into one string and written into
one record, but the method to do so is
rather awkward. Like BASICA, True
basic can convert numerics to and from
JUNE 1986
67
The World’s
Best Selling
Multi-User
Database
For Five Years
Running ,;
DataFlex versions are available
for all popular single-user and multi-user
operating systems, including Xenix.
For a free copy of this poster
(minus ad copy), write Data Access Corp.
or leave a message on our
Bulletin Board System: (305) 238-0640.
DATA ACCESS CORPORATION
8525 S.W. 129th Terrace-Miami-FL-33156-6565 (305) 238-0012-Telex 469021 DATA ACCESS Cl
circle no. 118 on reader service card See us at NCC Booth C-3344
BASIC
strings. However, it lacks some of
BASICA’s aids, such as the FIELD state¬
ment to assign names to various por¬
tions of the record and LSET/RSET to
guarantee that fields have the proper
length. Therefore, fields must be com¬
bined by concatenation and broken
apart with substring statements.
Compatibility with BASICA is not
one of True basics aims. An optional
program, PC Converter, processes most
BASICA statements into True basic
format, but significant cleaning up with
an editor is still required. Statements
that have no counterparts in True basic
are flagged with asterisks to generate
compiler errors when the program is
first run. Other statements are imple¬
mented as subprogram calls, and a sub¬
program library is provided with the
converter program.
Unfortunately, several of the
BASICA statements not converted, such
as DRAW and FIELD, are those that do
the most work and require the greatest
effort in order to reconstruct them in
True basic syntax. Except for DRAW,
graphics statements are converted, and
the statements to set the screen coordi¬
nates to BASICA’s screen dimensions
are automatically inserted.
Other extra-cost options available
for True basic are communications sup¬
port, a developer’s toolkit, Btrieve inter¬
face, sort/search routines, and Formlib,
a screen forms editor.
Documentation consists of two
spiral-bound books encased in a flimsy
cardboard box that is unable to stand
on its own. One of the books is a refer¬
ence manual, which is organized by
subject, not alphabetically. Finding in¬
formation on specific program state¬
ments or functions requires much page
flipping. The other book is a user’s
guide specific to the IBM PC. It presents
material of increasing complexity in
four sections entitled “Novice”, “Inter¬
mediate”, “Advanced,” and “Technical.”
This last section is a little light on use¬
ful information for the technically
oriented user. For example, it states that
True basic uses two formats for floating¬
point numbers, depending on whether
or not the system has an 8087 chip, but
it neglects to describe either one of
these formats. Otherwise, the documen¬
tation is adequate for a user with mod¬
erate programming experience. The
writing includes many examples.
Except for the poor handling of
record file I/O, True basic is an excel¬
lent implementation of the language
and is recommended for BASIC pro¬
grammers who need more capabilities
than are offered by BASICA.
■1
:;y ; .
Watcom basic
watcom, the company spun off from the
University of Waterloo in Canada, is
noted for easy-to-use, bulletproof lan¬
guage products especially designed for
students. Its BASIC interpreter follows
the company’s tradition: it is simple,
with tutorial documentation, and it is
full of structured concepts.
watcom basic is a true interpreter
like BASICA and megabasic. Although it
preprocesses programs into a tokenized
format, it does not report errors until
execution reaches a statement with an
error. The program editor is very simi¬
lar to the one in BASICA; in fact, the
only difference noted was the fact that
Ctrl-arrow keys do not move the cursor
by word. Program files may be loaded
and saved in either tokenized or ASCII
format, but watcom basic cannot auto¬
matically determine the type of input
file. A different command is necessary
for loading each type of file: OLD for
ASCII, LOAD for tokenized. Similarly,
two commands are available for saving
each type of file: SAVE for ASCII, STORE
for tokenized. Because these commands
are difficult to remember, they should
be easy to find in the watcom manual;
unhappily, they are not.
watcom has produced the first
BASIC that makes a distinction between
lower- and uppercase letters in variable
names. Fortunately, key words are still
case-insensitive.
Numbers may be 16-bit integers or
floating-point reals with either single or
double precision. Integers are declared
by appending % to the variable name;
declarations by initial letter (DEFINT)
are not possible. This makes conversion
of all-integer programs, even simple
ones, a much bigger undertaking than it
should be. The choice of short or long
precision for real numbers is made
once at the beginning of the program,
so all reals must be of the same preci¬
sion. watcom basic automatically detects
and uses an 8087 processor.
Matrix operations are supported
for initialization (to a scalar or constant
matrix such as the identity matrix), as¬
signment, addition of and multiplication
by a scalar, addition and multiplication
of matrixes, transposition, and inver¬
sion. The calculation of determinants is
not included. True basic is the only
other enhanced BASIC product that sup¬
ports matrix operations.
watcom basic provides structured
constructs in the form of multiline IF-
THEN-ELSE statements and several
loops. Call-by-name procedures and
functions are available; they are inter¬
nal, meaning that they must reside in
the same source file as the main pro¬
gram. All variables within a source file,
except for call parameters, are global
unless they are declared as local to a
subprogram. Old-style GOTO, GOSUB,
and single-line IF statements are also
supported by watcom basic.
The file system supports text and
binary files. The former are fairly stan¬
dard, but the implementation of binary
files has several annoying quirks. The
set of file I/O statements is asymmetri¬
cal; a GET statement is used to read sin¬
gle bytes from a binary file, but there is
no corresponding PUT. Binary writes
are performed with the PRINT state¬
ment using a binary format code. For
the GET statement to work, either a rec¬
ord length must be specified when the
file is open, or the file must contain CR/
LF pairs as record delimiters. If a rec¬
ord length is declared, say at ten bytes,
then a CR character is returned by
Watcom basic a the first
implementation that makes
a distinction between lower-
and uppercase letters in var¬
iable names; key words are
still case-insensitive.
every 11th GET, regardless of whether
or not a CR byte actually exists in the
file. If a CR byte is found in the file, the
next character is ignored on the as¬
sumption that it is a line feed. Further¬
more, all file output operations append
CR/LF after each write unless special
precautions are taken when the file is
opened. This file system makes it very
inconvenient to process unstructured
binary data to or from programs that
are outside of watcom basic.
Record formats are specified in
USING strings. This seems to be a good
JUNE 1986
69
To Over 30,000 Installations,
MultiLink® Multi-User.
At over 30,000 sites, as many as one-quarter of a million
users tap into the power of MultiLink® Advanced everyday.
Since 1981, they’ve come to rely on our multi-tasking,
multi-user system for compatibility with their favorite
software, and the ability to share disks, files, printers,
and programs in a true PC-DOS environment.
From the largest of the Fortune 500 to the smallest in
small business, MultiLink® has provided a cost-effective
multi-user solution that’s available from no one else.
MultiLink® Means Cost-Effective Timesharing
on a PC. MultiLink® Advanced utilizes the principle of
timesharing by sharing a central PC’s peripherals, files,
and processor time among nine users. Up to eight in¬
expensive terminals can be connected to a single non-
dedicated IBM PC, XT, AT or 100% compatible using
standard RS-232 ports. Each terminal effectively emu¬
lates a PC having up to 512K RAM.
PC-Shadow™ Workstations, shown below, even have
an AT look-alike, as well as work-alike, keyboard, dis¬
play, and serial port. In addition, password-protected
remote access via modem can be made with either dumb
terminals or PCs running our terminal emulation software.
MultiLink® Means PC-DOS Compatibility with a
Software-Driven System. Lotus 1-2-3, Symphony,
WordStar, dBASE III, & Multimate are just a sampling
of the wide variety of PC-DOS software that’s fully
compatible.
Our software-driven system is also IBM NETBIOS
compatible, so programs that are written for IBM’s
Token Ring will run on our multi-user system, as well.
MultiLink® Means Multi-User to Leading
Computer Publications. Whether you read PC Magazine,
“MultiLink® Advanced delivers on...convenience, speed,
and flexibility,” or InfoWorld, “If you want a low-cost
multiuser system with up to eight terminals, MultiLink®
Advanced is worth a serious look;’ it becomes clear that
MultiLink® Advanced is a formidable contender in the
multi-user marketplace.
See What MultiLink® Can Mean to You. Learn,
firsthand, how our multi-user system can benefit your
company. Call The Software Link TODAY for complete
information and the authorized dealer nearest you.
MultiLink® Advanced is $495 and comes with a
money-back guarantee.
MultiLink' is a registered trademark of
The Software Link, Inc. MultiLink' Advanced
& PC-Shadow "' are trademarks of The
Software Link, Inc. IBM PC, XT, AT, PC-DOS,
Token Ring, & NETBIOS are trademarks of
IBM Corp. WordStar, dBASE III, Multimate,
Lotus 1-2-3 & Symphony are trademarks of
MicroPro, Ashton-Tate, Multimate International,
& Lotus Development Corp., respectively.
©
THE SOFTWARE LINK, INC.
8601 Dunwoody Place, Suite 632, Atlanta, GA 30338 Telex 4996147 SWLINK
CALL: 404/998-0700
Dealer Inquiries Invited
THE SOFTWARE LINK, INC./CANADA
250 Cochrane Drive, Suite 12 Markham, Ontario L3R 6B7
CALL: 416/477-5480
CIRCLE NO. 196 ON READER SERVICE CARD
eiotus
BASIC
TABLE 2: Benchmark Times
BASICA
BETTER-
BASIC
BUSINESS
BASIC
MEGA-
BASIC
PRO.
BASIC
TRUE
BASIC
WATCOM
BASIC
INTEGER ARITHMETIC
SIEVE (mimsec)
3:23
0:49
_a
1:48
1:25
0:26
4:17
REAL ARITHMETIC
MULDIV (mimsec)
4:12
1:11
3:29
1:12
4:18
0:20
1:40
Calculation error
... 0
0
0
0
3E-14
3E-16
FILE I/O
FILEIO (bytes/sec)
112
16
100
408
98
20
71
Minutes to copy 30KB file
9
62
10
2.5
10
50
14
GRAPHICS
HAT (min)
33
36
_c
_c
147
61
64
a Program too large for workspace
h Bug prevents print-out of error value; see text
Graphics support not implemented
Benchmark surprises are the speed of True BASIC’s untyped numbers and BASICA’s respectable showing in file I/O.
idea except that “10 AS WHATEVER” in
a FIELD statement is much more read¬
able than a string of ten # characters in
a format string. Two further problems
are that numeric data cannot be written
in binary format, but are always con¬
verted to/from characters on I/O, and
that the fields of the record must be
enumerated in each I/O statement. Be¬
cause record layouts are distributed
throughout the program, updating them
becomes a chore.
watcom basic provides most
BASICA graphics capabilities, but all of
the functions are performed with differ¬
ent key words. Especially frustrating is
the fact that a function, not a command,
is required to switch between graphics
and text modes. The user must type
X=MODE(0) instead of BASICA’s
SCREEN(O). A stripped-down version of
the DRAW statement is implemented,
without the capability to scale images or
execute substrings. Sound and event
trapping are not supported, watcom
basic cannot be used to write an
interrupt-driven communications pro¬
gram. The interpreter itself, however,
supports the serial port as a device for
reading and writing program files.
The documentation consists of two
spiral-bound booklets. The Primer and
Reference Manual is primarily a teach¬
ing tool and makes a very poor refer¬
ence. The reference section is orga¬
nized by subject. Besides the index, the
only alphabetic list in the book is an
appendix of all immediate commands
and program statements, but only their
syntax is shown—nothing is said about
what each one does. A user deciding
whether to save a program with SAVE
or STORE may spend several frustrating
minutes flipping through pages before
finding the answer.
The other booklet is a User’s Guide
specific to the IBM PC, which discusses
file I/O, graphics commands, and inter¬
nal data representations. This part of
the documentation is more usable than
the reference manual.
watcom basic is useful as an educa¬
tional tool, but even with its enhance¬
ments in coding structure, it is not a re¬
placement for BASICA’s capabilities.
THE BENCHMARKS
Because BASIC is not formally standard¬
ized, the number of dialects and the
magnitude of the differences between
them exceed those in other languages.
For this reason, developing a full suite
of benchmarks was impossible. Four
programs were used to get a general
idea of the efficiency of each BASIC for
various types of processing. The results
are listed in table 2. All timings were
done with the built-in BASIC timer and
exclude any precompilation time.
The standard Sieve of Eratosthenes
algorithm, performed with a matrix size
of 8,191, tests integer arithmetic. BB X
could not run this test because it imple¬
ments all numbers as 10-byte decimal
floating point, but it allows a maximum
workspace of 64KB.
Speed and accuracy of floating¬
point arithmetic was tested by the
MULDIV program, translated from the
Turbo Pascal version published in the
April 1986 issue of PC Tech Journal
(see “8088 vs. V20,” Juan Jimenez and
Steve King, p. 73). It was performed in
the greatest precision offered by each
of the BASIC products.
The FILEIO program simulates
disk-intensive activities by copying sin¬
gle bytes from one file to another. This
is not the most efficient way to copy
files, but it is not meant to be a test of
file copying efficiency. Single-byte I/O is
very common in BASIC, as shown by
the many published programs that build
.COM files from DATA statements.
Both input and output files were
on the same floppy disk. The test was
run on a floppy-disk drive for two rea¬
sons. First, BASIC is often used on a sys¬
tem without a hard disk. Second, tim¬
ings on a floppy disk are more consis¬
tent than on a hard disk, because hard
disk models are more numerous and
variable than floppy drives and hard¬
disk I/O time is affected by location of
free space on the disk. On a floppy, the
two files can be kept in a constant spa¬
tial relationship to each other, and any
user can duplicate the conditions.
Several of the BASICS allowed
more than one formulation of the I/O
statements in this program. All of the
obvious ones were tried, and the fastest
result is reported.
The last benchmark program, HAT,
exercises graphics capabilities. HAT is a
good example of programming for por¬
tability. The graphics statements are col¬
lected into one subroutine, and only
the simplest drawing commands (for
points and lines) are used. As a result,
converting to the syntax of another
BASIC is quite trivial. (HAT was origi¬
nally published in “A Diversionary
Benchmark,” Susan Glinert-Cole, July-
August 1983, p. 93.)
All 19 programs run in testing the
BASIC interpreters are available on
PCTECHline; three of them are printed
with this article. Listing 1 (FILEIO.BAS)
is the BASICA version of the I/O bench¬
mark. This program ran as-is in Better-
basic. However, it ran much faster with
two changes (the GET and PUT state¬
ments); of its own volition, BetterBASic
added many declarations (see listing 2,
JUNE 1986
71
BASIC
FILEIO.BB). The True basic version (list¬
ing 3, FILEIO.TRU) had to be written
from scratch. In these listings, programs
are identified by the following exten¬
sion: .BAS for BASICA and generic pro¬
grams; .BB for BetterBASiC; .BBX for
Business basic; .TRU for True basic;
.MEG for megabasic; and .WAT for wat-
com basic. If a particular interpreter
does not have its own copy of a pro¬
gram, it can run the .BAS version.
AN OVERALL WINNER?
The results in table 2 contain at least
one surprise: BASICA is not totally over¬
whelmed by the competition in terms
of speed. It makes an especially respect¬
able showing in file I/O, comfortably
leading the full-featured BASICS and
coming in second behind megabasic. In
the other tests, True basic is fastest in
arithmetic, while BetterBASiC has the
fastest graphics. No overall winner or
loser could be proclaimed on the basis
of execution speed.
Nor could an overall winner be
named in terms of general features. The
choice of an enhanced BASIC ultimately
depends on the uses to which a BASIC
interpreter will be put and on the par¬
ticular shortcomings of BASICA that the
user seeks to remedy.
BB X has many flaws and is not rec¬
ommended. Its major problems are
small memory utilization and lack of
modern structured programming con-
THE ANSI STANDARD FOR BASIC
For several years the American Nation¬
al Standards Institute has been work¬
ing to produce a standard for BASIC.
The first attempt was made in 1978
with the issuance of Minimal BASIC. A
new standard is nearing the end of
the approval process and should be
official this summer.
ANSI BASIC is designed to allow
a wide variety of applications to be
programmed in the language. Ease of
use, avoidance of the unexpected, and
portability over a wide variety of hard¬
ware and operating systems are prime
concerns and take priority over ease
of implementation in nearly all cases.
The design was chosen to be suitable
for both interpreters and compilers.
The proposed standard consists of a
large core with optional modules for
graphics, fixed decimal arithmetic, ex¬
tensions to file handling, editing, and
realtime programming (multitasking).
A rich variety of control struc¬
tures permit structured programming
techniques. Many of the implementa¬
tions that are based on the proposed
standard allow programs to be written
without line numbers, although this is
not required in the standard. The con¬
trol structures include looping with
the possibility of exit anywhere within
the loop; multiline IF-THEN-ELSEIF-
ELSE blocks; and a flexible case selec¬
tion mechanism. Some examples:
DO
INPUT X
IF X > 0 AND X < = 7 AND X = INT(X)
THEN EXIT DO
PRINT “Enter an integer
between 1 and 7”
LOOP
and
SELECT CASE A$(l:l)
CASE “A” TO “Z”, “a” TO “z”
PRINT A$; “ starts with a letter”
CASE “0” TO “9”
PRINT A $; “starts with a digit”
CASE ELSE
PRINT AS; “begins with neither”
END SELECT
Several modes can be expressed
in the OPTION statement. The arith¬
metic type may be floating decimal,
fixed decimal, or native—whatever the
implementor wants. Trig functions can
use either radians or degrees. The de¬
fault lower boundary for arrays may
be 0 or 1, and the implementor might
provide a non-ASCII character set in
addition to ASCII.
ANSI BASIC also provides several
means for segmenting programs.
Functions, subprograms, and pictures
(graphics routines) may be either in¬
ternal or external. External routines
have their own name spaces. Internal
routines share variable names with the
main program or external routine in
which they are located. Recursive calls
of these routines are permitted. Exter¬
nal routines are designed so that sepa¬
rate compilation is possible, though
not mandated by the standard. Names
of routines, like those for variables,
may be up to 31 characters long.
Implementations must not compro¬
mise the uniqueness of names. Thus:
VERY_LONG_ROUTINE_IDENTIFIER_ 1
and
VERY_LONG_ROUTINE_IDENTIFIER_2
must not refer to the same object.
Arrays may be manipulated ele¬
ment-by-element or as a whole. Nu-
structs. Furthermore, it offers no hard¬
ware-specific features such as graphics,
sound, or communications support, no
PEEK or POKE commands, and only
limited editing functions. BB X cannot
import BASICA programs—a serious
flaw. It does, however, provide a few
advanced features: call-by-name subpro¬
grams with local variables, keyed files,
and decimal arithmetic. Subprograms
can be made either transient or resi¬
dent at the programmer’s option.
megabasic is a well-executed imple¬
mentation of generic MS-DOS BASIC. It
lacks PC-specific functions, such as
graphics, sound, and communications,
and, like BB X , it cannot accept BASICA
programs. Among megabasic’s good
meric arrays may be assigned, set to 0,
set to a constant value, added, sub¬
tracted, multiplied, transposed, and in¬
verted. String arrays may be assigned,
set to nulls, and concatenated. Whole
arrays may be used with input and
output statements. Arrays also are
used in significant ways in graphics.
A large portion of the proposed
ANSI standard is devoted to files,
which are classified by their overall
organization and by the type of record
they contain. A file organized sequen¬
tially contains records that are ac¬
cessed one at a time, from first to last.
A file with a stream organization con¬
tains a sequence of values—as distin¬
guished from a sequence of records.
Relative files contain addressable rec¬
ord areas. Keyed files can have their
records accessed by the value of a rec¬
ord’s (string-valued) key. Record types
for files include display (ASCII charac¬
ters), internal (values with distinct
data types), and native (values take
meaning according to templates used
with input and output statements). A
BASIC implementation might use in¬
ternal records to hold real numbers in
a specialized binary format or native
records to read data files from a cer¬
tain COBOL compiler.
The standard takes great pains
to describe what happens when errors
occur. For example, after an attempt
to read a string value into a numeric
variable, ANSI BASIC defines the posi¬
tion within a file where the next oper¬
ation would take place. In addition to
defining what happens, the standard
provides means of handling excep¬
tional circumstances. Input and output
statements may tell what happens if
the end-of-file is reached or records
72
PC TECH JOURNAL
points are all the desirable language ex¬
tensions: full memory utilization, struc¬
tured coding, modular programming
with separate compilation, megabasic
offers more extensions for subprograms
and string handling than any other
BASIC reviewed here, and its documen¬
tation is first-rate. Only the lack of
machine-specific functions prevents
APC’s product from receiving a much
stronger endorsement.
watcom basic is more useful in the
classroom than in business. It provides
the features that are most desirable in a
modern teaching language: structured
coding and modular programming. Ma¬
trix computations, also useful in a scien¬
tific setting, are supported. It has an ab-
are missing. In these cases, programs
may exit loops or transfer to specific
lines. A control structure for more
general exception handling is pro¬
vided. For example:
WHEN EXCEPTION IN
PRINT “Enter age and weight”
INPUT AGE, WEIGHT
IF AGE > 10 THEN
PRINT “Enter height”
INPUT HEIGHT
END IF
USE !COME HERE ON EXCEPTIONS
PRINT “Enter numbers only”
RETRY !TRY INPUT AGAIN
END WHEN
! COME HERE WHEN ALL IS WELL
The optional graphics module of
ANSI BASIC is based on the IBM
Graphical Kernal System (GKS) stan¬
dard. Implementations of GKS for
other languages is done with CALLs to
a subroutine package. In ANSI BASIC,
access to much of GKS is accom¬
plished through statements in the lan¬
guage. Programmers express graphics
in problem terms, rather than in
screen-dependent coordinates. For ex¬
ample, if a problem called for values
in the horizontal direction ranging
from 0 to 50 and values in the vertical
direction ranging from -10 to 10,
then the following statement
SET WINDOW 0, 50, - 10, 10
could be used to express the current
range of interest. To draw a line from
point (5,5) through (20,6.5) to
(23,-4), might require the statement
PLOT 5,5; 20,6.5; 23,-4
In addition to setting the coordi¬
nate system and drawing lines, the
breviated implementation of graphics
support. Disadvantages are a small
workspace (smaller than BASICA’s), lack
of separate compilation, and documen¬
tation that emphasizes the educational
aspect of this product at the expense of
providing a usable reference, watcom
basic is recommended only for the edu¬
cational environment; otherwise, both
the program and its documentation will
be quickly outgrown.
BetterBASic promises the best of all
possibilities: near-total compatibility
with BASICA, plus advanced enhance¬
ments that depart from BASIC’s simplic¬
ity but give the language many of the
capabilities of Pascal and C. Delivery of
its promises is lacking, however.
user can display individual points,
areas, and text with a variety of styles
and colors (if supported in the imple¬
mentation). Graphics is possible in
terms of arrays of cells, which may or
may not correspond to pixels on a
screen. Graphics input from a variety
of devices is also supported. Graphics
pictures are like subroutines, but the
graphics they display may be trans¬
formed by matrix expressions on the
calling statement. The matrix expres¬
sions normally are in terms of the
built-in functions ROTATE, SHEAR,
SHIFT, and SCALE. For example,
DRAW SQUARE WITH SCALE(2,4) *
ROTATE(45)
would call PICTURE SQUARE and
change its output so that it would be
twice as wide and four times as high;
then it would be rotated 45 degrees
(if degrees are being used).
The realtime programming mod¬
ule of the ANSI BASIC standard is de¬
signed for applications such as pro¬
cess control where it is necessary to
have a number of primarily indepen¬
dent activities that are able to commu¬
nicate with each other.
ANSI BASIC defines no com¬
mands other than a small number in
the optional editing module. Many of
the popular commands were thought
to be operating-system-specihc and
thus beyond the scope of the current
draft standard. Microsoft BASIC users
will find that the following statements
have no equivalent in the standard,
but may appear in implementations
based on the standard: BEEP, BLOAD,
BSAVE, ON COM, ON KEY, ON PLAY,
ON PEN, OUT, PLAY, POKE, SCREEN,
SOUND, SWAP, WAIT, and WIDTH.
The product design is impressive,
so it is especially disappointing that a
series of individually minor faults make
using BetterBASic a frustrating experi¬
ence. These faults include slow screen
response in the editor, inflexibility in
defining data types, incomplete imple¬
mentation of the DRAW statement, and
several quirks during loading of hies
and navigating around the screen.
The best feature of BetterBASic is
that it addresses all of BASICA’s short¬
comings: large memory utilization,
structured coding constructs, call-by-
name subroutines with local variables,
and separate compilation. It adds fea¬
tures that go far beyond the capabilities
of BASICA: pointers and structures (the
The proposed standard and Microsoft
provide approximately the same num¬
ber of functions, but these Microsoft
functions are not in the ANSI version:
CDBL, CINT, CSNG, CSRLIN, CVI, CVS,
CVD, EOF, FRE, INKEY$, INP, INPUTS,
LPOS, MKI$, MKS$, MKD$, PEEK,
PLAY, PMAP, SCREEN, SPC, TIMER,
USR, and VARPTR($).
Integers are not included in ANSI
BASIC. In fact, the standard does not
have a provision for more than one
type of number in a given program
unit. The ANSI BASIC standards com¬
mittee wished to do more complete
design work before standardizing ad¬
ditional numeric data types.
The approach to extending the
standard by adding modules to a cen¬
tral core will allow such extensions to
see the light of day before the next
complete revision cycle of the lan¬
guage. A mini-standard for single char¬
acter input for BASIC should be avail¬
able for public comment this summer
or fall. Another standard for modules
(similar to that capability in Ada and
Modula-2) should follow in three to
six months. Work is also being done
in these areas: extended array capabil¬
ities, data types, data structures, screen
management, and sound.
As is the case with nearly all ANSI
standards, compliance with ANSI
BASIC will be voluntary in the private
sector. If the U.S. government adopts a
standard as a Federal Information Pro¬
cessing Standard (FIPS), government
agencies often require adherence to
the standard. ANSI Minimal BASIC is a
FIPS, and the proposed BASIC stan¬
dard is expected to be one as well.
—Jim Harle
ANSI BASIC standards committee
JUNE 1986
73
The largest selling
1200bps modem
just got smaller.
I
I
I
l
I
l
mJ
◄-—--——-13”-* |
©1986 Hayes Microcomputer Products, Inc.
ThenewHayes
Smartmodem1200B
Now you can get a lot more out of
your PC, by putting a little more in.
Our new Hayes Smartmodem 1200B
includes the same quality and
advanced features that have made
it the leading 1200 bps modem.
Now, advances in Hayes technology
allow us to make it available in a
size that fits either full slots or a
“single” half slot.
That’s important news if you have
an IBM,® AT&T,® Compaq,® Tandy®
or other compatible computer with
half slots. It means with a Smart-
modem 1200B, you can free up one
of your full slots for an additional
function, such as color graphics,
more memory or networking. Or, if
you prefer, you can continue to use
the new Smartmodem 1200B in one
of the full slots. Hayes makes it easy
and versatile to fit your needs.
There are many good reasons for
choosing Hayes. Our new space¬
saving Smartmodem 1200B is one of
them. Hayes Smartcom II,® the
industry’s best selling communica¬
tions software, is another.
Smartcom II for the IBM and
compatibles makes short work of
Say yes to the future
CIRCLE NO. 155 ON READER SERVICE CARD
communicating, while allowing
you to take full advantage of the
sophisticated capabilities of your
Smartmodem 1200B. Together, they
create a powerful, yet easy-to-use,
communications system for your
PC. They're made for each other,
and customized for IBM PC's.
The best reasons of all for choos¬
ing Hayes are the "built-in” benefits.
Advanced technology. Unsurpassed
reliability. And a customer service
organization that's second to none.
So, when you see your authorized
Hayes dealer ask for the largest sell¬
ing 1200 bps modem. Smartmodem
1200B. And remember. Now it's
smaller, too. Hayes Microcomputer
Products, Inc. P.O.Box 105203, Adanta,
GA30348. (404) 441-1617.
BASIC
latter allows the best implementation of
record I/O of any BASIC). It may be
programmed just like BASICA, or with
only a moderate investment in learning,
the user may graduate to some very
powerful programming capabilities.
Judging by the immense improve¬
ment from version 1.0 to 2.0, future up¬
dates may well solve some of these
problems. Summit Software should
keep working to improve this one, be¬
cause the underlying concept deserves
to succeed. BetterBASic could become
an excellent vehicle for any type of pro¬
gramming, including the development
of serious commercial applications.
Professional basic is supposed to
be a development and debugging sys¬
tem for a subset of BASICA, with minor
extensions. It is not too useful for com¬
plex graphics or any communications
program, but it is good for computa¬
tionally intensive programs (those with
complex algorithms and subtle bugs.) A
versatile windowing system affords in¬
sight into various aspects of a program’s
execution, allowing rapid zeroing in on
runtime bugs. The extensions are useful
during the development phase, yet easy
to remove when returning programs to
execute under BASICA. The language
restrictions in comparison to BASICA
(no default size for arrays, distinct
names for arrays and scalars, and single
loop termination statements) are not
burdensome; in fact, they foster a desir¬
able programming style.
Of the implementations reviewed
here, the one most highly recom¬
mended is True basic, which addresses
most of the limitations of BASICA. It
provides large memory utilization,
structured coding constructs, local vari¬
ables, and separate compilation—all in
a package that is well thought out and
quite easy to use.
Despite these advanced features,
True basic adheres closely to the infor¬
mal, unstructured spirit of the original
BASIC language. Although True basic is
somewhat hampered by inconvenient
file I/O, it has many strong points, such
as 8087 support, fast arithmetic even
without the 8087, matrix operations,
and an excellent implementation of
graphics. This all adds up to make True
basic the language of choice, especially
for graphics and compute-intensive
programs. l |m —
BASICA: bundled with DOS
IBM Corporation
P.O. Box 1328
Boca Raton, FL 33429-1328
Contact the local IBM dealer;
800/426-2468
CIRCLE 340 ON READER SERVICE CARD
BetterBASIC. $199; runtime: $250
Summit Software Technology
106 Access Road
Norwood, MA 02062
617/769-7966
CIRCLE 341 ON READER SERVICE CARD
Business Basic Extended: $295
BASIS, Inc.
5700 Harper Drive N.E., Suite 290
Albuquerque, NM 87109
505/821-4407
CIRCLE 342 ON READER SERVICE CARD
MEGABASIC: $375
American Planning Corporation
4600 Duke Street, Suite 423
Alexandria, VA 22304
703/751-0451
CIRCLE 343 ON READER SERVICE CARD
Professional BASIC: $99
Morgan Computing Company, Inc.
P.O. Box 112730
Carrollton, TX 75011
214/245-4763
CIRCLE 344 ON READER SERVICE CARD
True BASIC: $149; runtime: $500
True BASIC, Inc.
39 S. Main Street
Hanover, NH 03755
603/643-3882
CIRCLE 345 ON READER SERVICE CARD
WATCOM BASIC: $250
WATCOM Products
415 Phillips Street
Waterloo, Ontario, N2L3X2
519/886-3700
CIRCLE 346 ON READER SERVICE CARD
Ted Mirecki is a corporate planner who is
responsible for developing decision support
systems on a variety of hardware.
LISTING 1: FILEIO.BAS
•MAIN Program: FILEIO BENCHMARK FOR BETTER BASIC
090 REM for PC-BASIC & PROFESSIONAL BASIC
100 PRINT TIMES
095 REM
110 KILL "A:0UT.FIL"
100 PRINT TIMES
120 OPEN "A:IN.FIL" AS #1 LEN = 1
110 KILL "A:0UT.FIL"
130 OPEN "A:0UT.FIL" AS #2 LEN = 1
120 OPEN "A:IN.FIL" AS #1 LEN = 1
160 FOR I = 1 TO 30000
130 OPEN "A:0UT.FIL" AS #2 LEN = 1
170 READ RECORD #1, I, X
140 FIELD 1, 1 AS REC1$
190 WRITE RECORD #2, I, X
150 FIELD 2, 1 AS REC2$
200 NEXT I
160 FOR I = 1 TO 30000
205 CLOSE
170 GET #1
210 PRINT TIMES
180 LSET REC2$ = REC1$
190 PUT #2
ENDFILE
200 NEXT I
205 CLOSE
210 PRINT TIMES
LISTING 3: FILEIO.TRU
LISTING 2: FILEIO.BB
! FILEIO benchmark for True Basic.
» Written from scratch in True Basic.
SOURCE
PRECISION= 7
unsave "A:OUT"
AUT0DEF=0N
print timeS
OPTION BASE=0
open #1: name "A:IN", access input,organization byte,recsize 1
ERL=0N
open #2: name "A:OUT",access output,create new,organization byte,recsize 1
ERRORMODE=GLOBAL
for i = 1 to 100
RESUME=STATEMENT
read #1: xS
F0RM0DE=GW
write #2: x$
SC0PE=0FF
next i
PROCS=0
close #1
INTEGER: I
close #2
BYTE: X
print timeS
end
JUNE 1986
75
UG0MU0O O
.4\nnnnno 0
'Jiw»UOOCK^|,.«'iF
i ^ sKi . ’-Tiff!
’ouuuguu
innnAnnO
IJUUUUU^ <6
rvrvnw^nr* ! l *4 r^r^o.i
UUUUUOUU 4> U^O^CAI
It
uuyu^;M9MUUM^, 4 ^
- '‘TTT'JVU^ss , | 4»\*<
Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft Corporation. ©1986 Intel Corporation
Diary ofan
I traded my 16K machine and all
those disks for Lotus® 1-2-3 and 256K.
And immediately got the urge to
merge. I started by merging regional
statements in Maine. But before I
could get to Iowa, I ran out of gas.
At 512K, I discovered what the coor¬
dinates IV169 looked like. I was so
far out there it felt like I was walking
on the moon. It didn’t take long to
find out 512K was nothing more than
a walk around the block.
640K! Loads of space until I fell in love
with integrated software and was
back to cutting up files again. Sure,
the other functions make my work¬
sheet more persuasive, but I’m back
to slugging in and out disks. Shades
of!6K.
Old war stories of how you fought your way up
through the memory ranks are great to remember
as long as you don’t have to relive them. And you don’t.
Thanks to one incredible breakthrough. Above™
Board PS.
Above Board is the memory board that drove the
Lotus*/ Intel/ Microsoft* expanded memoiy specifica¬
tion, Infoworld’s 1985 Peripheral Product of the Year.
From Intel. The company that has driven more
standards than all of the other chip shops put together.
Above Board PS has the parallel and serial ports,
clock, print buffer, and RAM disk you’d expect from
a conventional multifunction board.
But why buy a conventional board when Above
Board PS can take you from 256K all the way to
1.5 megabytes in one fell swoop, without even pausing
for a breath at 640K.
So you don’t need to hot-wire your way to the top
anymore. With Above Board PS, the split worksheet
is history. The new norm is windowing, pop-ups, and
overachiever.
I’m on my way to 1.5 MB and I’m
not looking back. Monster spread¬
sheets, killer models, Microsoft®
Windows, and all kinds of pop-up
utilities so I can juggle a bunch of
balls at once.
AA A-Vp*
> LK. > •• OO Giy L' U.GGGGCs'A / w ^ V\ \
' for- cae ; 0 € > \
'C K ('no rs -, V it
>rRS ^ . <
* ■ . - *>
> *; rvvwooo ' v
Ij; €r b *£« 8 Hi n° ^
C) O ** f'Onnorr^n ~ r«« aa
A** ^r« t** Vi* Wi y>jM R ^ UUOUOOt' O ijUbUooUU ^ bUl'Ct vw 'V ».*. ■■$ t
>ronrr*nr> «CwC;C®OOC o r 1— —— ■ a * ^
,UUW^UUU 6 ~ * lUUUyc .' :
'no ^nrrnnn Arr poppa fnnnnnn.rnn r r ^nn^.cr.nt: ,.-
OiMTEL 0
Orf fflrasU ,, .. J _ .. *4
rW'w- l'Wt-L-l-1' Giv UOUVUV OK. O o l-Ui/O rCy- 1 ctU,l ; clv f 7 .,, #
'nnnnnnnnn 0\ ^ ^ 0 q (^pppppp r t*\ p f^nno.n nnn. ■ w
q q ' “! '•?<>• 0 V0 f'» *;
i lit 0 O > .15|L c t *
,Ut,.\''.'V<VVv<V O. /-. o L't'OOOl.'C O . COv'JvU't" €* '-• : .J*l.; W.-,U'Ui~; >r . : V'■
■000000000, ■ of'or'C'OO <?• <C;C;C.C.CiCC C* cooneor a • f /tir.fi.te.cSSfS <? 1 ::
R
B
a <f ;p,0,00,f^0 &> ■ Jil
■^w*WW WW *»**?*»& ^vt'tA/UUU.' C* C*s^V7^C?vy*P O t-wv^U'/v^ ‘-W t-'i'wvCvVv. 1 *' : :'•.-
* i fW>#l , V r >C> f&Ofmfyy *gr*f ppppppppo nnonncnr p OP
tWca*? fc*vj^NP vsfwss* *£
o O ^ _ * a
? j ooscho m
RAM speed on everything—even databasing and
word processing.
The second-biggest difference between Above
Board PS and conventional multifunction boards
is the unconventional warranty on it. Five years
instead of the usual two.
Ease of installation is nothing to sneeze at either. Its
software installs with as few as three keystrokes. It
even intelligently customizes your memory allocation.
Above Board PS is part of a family of products
■■ .-
for the IBM PC, XT, AT and compatibles.
You can buy them at your favorite computer
store. Or call 800-538-3373 for the names of
dealers near you.
And re-write the book on overachieving.
Help for the overachiever.
intel
CIRCLE 216 ON READER SERVICE CARD
m t • ■ • !•
Ada just moved
into a
smaller place.
We have some very good news
for you.
You can now get a validated,
full Ada® compiler for the IBM®
PC AT. From the people who
designed the Ada language. For
just $3,000.
Which means you and your
company can now program in Ada
without tying up a big, expensive
computer.
And you should program in
Ada. And not just because the DoD
says so.
Ada & 4-MB of memory*
for the price of 4-MB of memory.
The DoD mandates Ada for
their software principally because
Ada is considerably easier and less
expensive to maintain.
Does more reliable and easier
to maintain code sound attractive
to you? If not, just look at how your
programmers are spending 80% of
their time.
People who know Ada are call¬
ing it “the only logical language for
the eighties
(and nineties.”
I The point is,
they’re not
thinking of
Ada as “the DoD language.” It’s
simply because Ada supports good,
solid software engineering practice.
And now you can try full Ada
programming for less than the cost
of a two week training program.
The Alsys™ Ada compiler for
the PC AT is not only validated, it’s
actually written in Ada. And pro¬
duces code so efficient if executes
faster than C or Pascal on tested
benchmarks.
And if that’s not
enough, the Alsys PC AT
Ada compiler runs in pro¬
tected mode. So you can
use the full amount of
memory available to the
PC AT. This means you
can run a program using
up to 16
megabytes
of memory
for code
and data
without
worrying
about DOS,
overlays and
1432 Main Street, Waltham, MA 02154
□ Send me more information about
the Alsys PC AT Ada compiler.
□ Send me more information about Ada.
Compan
Zip
all that stuff. 1_ l _I
lastly, this compiler tota lk to
comes with a 4-megabyte
memory upgrade board.
That, by itself, is worth
the price of admission.
At this point, we
suspect you might be
tempted to pull out a
credit card and give us a call.
Or at least fill out the coupon.
Write: Alsys, Inc., 1432 Main
Street, Waltham, MA 02154,
U.S.A., Telephone: (617) 890-0030,
Telex: 948536.
In France: Alsys, S.A., 29,
Avenue de Versailles, 78170 La
Celle St. Cloud, France, Tele¬
phone: 33(1)3918 12 44,
Telex: 697569.
In England: Alsys, Ltd.,
Partridge Hse, Newtown
Road, Henley-on-Thames,
Oxon RG9 1EN,
England, Telephone:
44 (491) 579090,
Telex: 846508.
CIRCLE NO. 200 ON READER SERVICE CARD
Ada® is a registered trademark of the U.S. Government (Ada Joint Program Office). IBM® and PC AT are registered trademarks of International Business Machines Corporation.
Alsys™ is a trademark, service mark, and trade name of Alsys S.A. *Memory board manufactured by Profit Systems, Inc.
IBM
in
Ada
Knowledge is good.
Especially when it’s free.
:;« . •
Mechanical CAD
CADKEY’S three-dimensional drawing world is
best-suited to mechanical drafting; however,
it offers advantages for other fields as well
A s do all CAD (computer-aided
drafting) systems, cadkey, Micro
Control Systems’ entry into the
growing microcomputer production
drafting CAD market, displays a window
into an electronic drawing world, cad-
key’s world is three-dimensional, but
differs from other such systems in that
it is not limited to the modeling of
three-dimensional objects (cubes, cylin¬
ders, and spheres). The program also
allows the entry of one- and two-dimen¬
sional objects in arbitrary planes, cad-
key’s drawing world is based on float¬
ing-point arithmetic and is virtually un¬
limited at 999,999,999,999 units in each
dimension. Resolution is .000001 units,
allowing the construction of drawings
of steiiar-sized objects detailed to op¬
tical precision (millionths of an inch).
In its present form, cadkey is best
suited to mechanical drafting; it lacks
that are useful to other disci-
louble line drawing and per-
yiews used in architectural
varying width lines needed for
circuit board layout. Micro Con-
strategy has been to aim
iy at mechanical engineers.
VICTOR E. WRIGHT
cadkey 2.02 runs on the IBM PC,
PC/XT, PC/AT, and close compatibles.
The system must include 512KB of RAM
and a hard disk with at least 1.7MB of
free space—1.5MB to contain the sys¬
tem and 200KB for workspace. A math
coprocessor (8087 or 80287) is advised.
cadkey supports a number of
graphics boards, ranging from the
IBM Color Graphics Adapter to high-
performance boards such as the Cono¬
graphic Cono-Color 40 and the Number
Nine Revolution card. The program sup¬
ports monitors from Electrohome, Mit¬
subishi, and others. Some of the graph¬
ics cards require that jumpers be set
depending upon the monitor used.
A pointing device is not required
for minimal operation, but should be a
practical requirement. Various digitizers
are supported, including the Summa-
graphics and GTCO tablets.
cadkey is supplied on five un¬
labeled 5 v 4-inch floppy disks. Disk 1
includes a primitive installation batch
file that creates the proper directories
and copies most of the files into those
directories, prompting for the other
disks that it requires. The installation
program does not give any indication
that the correct disks have been in¬
serted, nor does it check that all of the
correct files have been installed.
After cadkey has been installed, it
must be configured using the menu-
driven CONFIG.EXE file. Selections are
made from lists of supported devices
with function keys. CONFIG.EXE does
not recall the previous configuration, so
changing a single element of the system
means repeating the entire configura¬
tion process. However, special versions
or updates of the program are not nec¬
essary when the hardware configuration
changes in any way.
In addition to setting up the hard¬
ware configuration, the CONFIG.EXE
program sets default paths to the vari¬
ous subdirectories, which store draw¬
ing, symbol, plot, and database files.
cadkey’s disks are not copy pro¬
tected, and they can be archived,
copied, and installed as desired. In¬
cluded in the cadkey package, however,
is a small box, referred to as the copy
protection device, that plugs into the
parallel port to ensure that the program
is used on only one CPU at a time.
81
MECHANICAL CAD
PHOTO 1: CADKEY Screen
CREATE LINE
0 BACK-UF
ESCAPE
VIEW: ?
ALEU: 1
HLEV: 8
COLOR: 6
L-TVPE: 1
CONST:3D
SNAP:OFF
S 1.038
» 0.088
0.008
8.088
Enter number of segments on curves <2> ->
The top line shows the current commands; the current
menu options are on the left. The MESH command creates
separate lines that can be individually edited.
PHOTO 2: Position Menu
1 CURSOR
2 POINT
3 KH&KHTw
4 CENTER
5 IMTRSC
6 ALONG!.
7 POLAR
8 BELTA
9 KEY IN
it BACK UP
ESCAPE
VIEW: 7
ALEO: I
KLEO: 8
COLOR: A
L-TVPE: 1
CONST:3»
SNAP:OFF
S 1.887
D W.880
4.414
8.329
Indicate end point
/ Select ENTITY
CADKEY is able to draw a line from the endpoints of two
entities simply by using CREATE-LINE ENTPTS-ENDENT. A
triangle appears on each entity as it is selected.
THE DISPLAY
The cadkey screen display is divided
into two windows: one for drawing dis¬
play and one for menu selection. Some
effort has been expended to leave as
much room as possible for the display
of drawings, omitting superfluous fea¬
tures such as borders and window
frames. The drawing display window
occupies the major portion of the
screen, while the menu selection win¬
dow takes up a column along the left
side, separated from the drawing dis¬
play by a vertical bar. In addition to the
two major windows, cadkey displays a
prompt/status line at the top and bot¬
tom of the screen (see photo 1).
The cursor for the drawing win¬
dow is a tracking cross, or cross-hair
cursor, about one-inch square. It is dis¬
played in white. When the cursor leaves
the drawing window to enter the menu
area, it changes from a cross to a set of
triangles. Menu selections are made by
moving the menu cursor to point to the
desired item and clicking the pointing
device button, cadkey text color (yel¬
low, by default) and cursor size can be
altered with the CONFIG program.
The menu window is divided into
three sections. The topmost section dis¬
plays a current menu or submenu. It
contains a maximum of 11 selections,
corresponding to the 10 function keys
plus the Esc key. These keys can be
used to select commands without a
pointing device. Two of the keys have a
constant value: Esc always returns to the
main menu, and F10 (displayed as the 0
key) returns to the previous or next
higher level menu.
This top menu area displays a por¬
tion of a tree-structured menu. Menu
selections near the top of the tree cause
submenus to be displayed, listing addi¬
tional options. As progressively lower
menus are selected, the previous com¬
mands are also displayed on the top
line, in effect displaying the path from
the main menu to the current point in
the menu structure. In cadkey termi¬
nology, this is the history line.
A constant display of options and
toggles, provided primarily for control
of the display, comprises the second
menu area. Selecting one of these puts
the current value on the status/prompt
line and prompts for a new value, or it
simply toggles the option.
The third menu area, located at the
bottom of the menu window, displays
the X and Y coordinates of the cursor.
The coordinate display functions in two
modes: tracking the cursor position
continuously or updating the position
only when a certain point is selected.
The drawing window can be
moved so that the coordinate display
overwrites part of the prompt line, and
the cursor may be moved to a position
behind the top menu line, which is
quite irritating, cadkey could be
improved by allowing the pointing de¬
vice to be active only in areas of the
screen where it is functional. A further
improvement would be to have the dif¬
ferent buttons on the pointing device
perform different functions, such as se¬
lect, back up, or escape, instead of all
having the same function.
Entering commands with the
menus is fast with a moderate amount
of practice; the display changes very
quickly, and the menu displays are gen¬
erated immediately. However, an
accomplished user will perceive that a
considerable amount of time is re¬
quired for prompts to be displayed. In
addition, using the menus limits the
commands that can be issued.
To accommodate the experienced
user who knows the command struc¬
ture and is limited by the menu struc¬
ture, cadkey provides an immediate
mode in which selected commands can
be entered directly, using Ctrl- and Alt-
key combinations, regardless of the
menu display. Immediate commands
are used primarily to change the display
during the entry or editing of drawing
entities. As an example, the user could
enter a long line by zooming in to
achieve the desired accuracy, entering
the first endpoint, panning with an
immediate command, and then entering
the other endpoint.
COORDINATES AND VIEWS
The cadkey manual introduces two
types of coordinate systems. World
coordinates are in the drawing data¬
base, relative to the origin of the draw¬
ing world. This system is right-handed,
Cartesian, and three-dimensional. View
coordinates are derived from projecting
the world coordinate system on the
CAD system screen, cadkey provides
eight predefined views, each repre¬
sented in a right-handed, Cartesian
coordinate system: top, front, back, bot¬
tom, right, left, isometric, and axonom-
etric. The program begins with the top
view displayed, meaning that the X and
82
PC TECH JOURNAL
Y axes are visible—the X-Y plane is
displayed—and the Z axis is perpendic¬
ular to the display.
Views 1 through 6 each display two
axes in the plane of the screen. The
third axis is perpendicular to the
screen. View 7 is an isometric view in
which distances along all three axes are
displayed as being equal. View 8 is an
axonometric view in which distances
along all three axes are visible, but are
not foreshortened equally.
Views are selected for display with
the VIEW command, which can be in¬
voked from the top of the menu win¬
dow, from the status display, or with an
immediate command. Views can be
called only by number and use the stan¬
dard numbering system.
In addition to the eight predefined
views, the user can define an unlimited
number of arbitrary views using VIEW
DEFINE. A new view can be specified
by naming three points in the viewing
plane or by rotating the current display.
The program remembers the viewing
direction, or viewing plane orientation,
and the scale, or zoom ratio, of the dis¬
play associated with each view.
Views result from rotating and
translating a viewing plane relative to
the world coordinate system. Drawing
entities retain their relationship to the
world coordinate system regardless of
the definitions of views, cadkey does
not provide a perspective display, but as
explained below, it does provide the
tools for creating perspective drawings.
The VIEW command is only one of
cadkey’s display control commands. The
standard commands, ZOOM and PAN,
are supplied. Also provided are HALF
and DOUBLE commands to halve or
double the scale of the display, an
autoscaling option to fill the screen
with the drawing extents, the BACK-1
command which is used to retrieve up
to three previous displays, and the
ZOOM WINDOW option.
For those who cannot shake the
notion of working at scale, the ZOOM
command also has a SCALE option. The
program initially presents a drawing
display at a scale of 1.000. The SCALE
option displays the same prompts as se¬
lecting the S status line does. Both
prompt for the new scale and view cen¬
ter, offering current values as the
defaults. The scale of 1.000 only roughly
corresponds to a full-size display. The
actual size of a full-scale display de¬
pends upon the size of the monitor—a
19-inch model with the same resolution
in pixels as a 13-inch model would dis¬
play the full-size drawing enlarged by a
factor of approximately 1.5, with the
horizontal and vertical measurements
adjusted to the particular monitor.
The entire drawing world cannot
be displayed on the screen at one
time. The largest scale of the display is
limited to .001, even though scale
values are displayed on the prompt line
to six decimal places.
The PAN command translates the
viewing window in the viewing plane
without changing the scale of the dis¬
play. The command is invoked from the
DISPLAY menu or from immediate
mode. PAN prompts for the new display
center, rather than for a displacement
vector. The new display center can be
selected with the pointing device, or
the coordinates can be typed in from
the keyboard by the user.
cadkey includes two commands in
the DISPLAY menu that some systems
classify as drawing aids: GRID and
SNAP. The GRID command displays a
grid of dots. The grid spacing can be
set either to the snap interval or to arbi-
I n addition to the eight
predefined views, the user
can define an unlimited
number of arbitrary views
using VIEW DEFINE.
trary X- and Y-axis values. Toggling the
grid off does not erase it; instead, the
REDRAW command must be issued after
the grid is toggled off.
The SNAP command has the same
options as GRID, with one exception.
Whereas GRID provides for setting the
grid size to the snap resolution, SNAP
provides for setting the snap resolution
to the GRID spacing. Thus, the grid can
be aligned to a particular part feature,
and then the snap resolution can be set
to provide snap intervals using that fea¬
ture as the origin. This is very useful
when a part has a number of entities
related to a feature, such as the center
of a hole, but not necessarily to other
features, such as the edges of the part,
which may be drawn relative to the
drawing’s origin.
cadkey provides a LEVEL (layer)
facility for visibility control. The levels
are numbered 1 through 256, with level
256 reserved for the storage of objects
that are not selected for display.
The display status window includes
two status indicators provided for level
management: ALEV displays the current
active level (the level number assigned
to entities as they are created); MLEV
displays the masking level (the level
from which entities can be selected for
deletion). If the masking level is set to
0 (the new drawing default), entities
can be selected from any visible level; if
the masking level is set to a positive in¬
teger, entities can be selected only from
that level; and if it is set to a negative
integer, entities can be selected from all
visible levels except that one.
The LEVEL command has a MOVE
option, which allows objects to be
moved to a selected level. Entities can
be selected on the screen or specified
by their current level number.
Note that colors and line types are
not related to levels. A level can contain
entities of various colors and line types.
CREATING OBJECTS
The basic drawing process begins with
the CREATE command of the main
menu. CREATE displays eight options:
LINE, ARC, CIRCLE, POINT, RECTANG,
FILLET, CHAMFER, and POLYGON. Each
of these commands has one or more
levels of submenus or prompts, and
none is available as an immediate com¬
mand. They can be selected with the
menu cursor, via the pointing device, or
with the function keys. Thus, in the
creation of drawing entities, cadkey is
an entirely menu-driven system.
Missing from the CREATE menu is
the polyline entity found in many large
CADD (computer-aided design and
drafting) systems and at least one
microcomputer CAD system, AutoCAD.
(For a review of AutoCAD see “Drafting
by Design,” Victor E. Wright, January
1986, p. 50.) Polylines are lines with
attributes other than endpoint co¬
ordinates. Some microcomputer CAD
systems provide the ability to assign
color, width, and line-type attributes to
all drawing entities, eliminating the
need for polylines. While cadkey pro¬
vides the color and line-type attributes
to be assigned to all entities, it does not
provide line-width attributes. Line width
can be specified in pixels for display
purposes, but all lines plot as single
strokes. While this is not a loss for me¬
chanical engineers, it is for those users
working in other disciplines, such as
architectural drafting.
The CREATE < entity> commands
operate as modes rather than as com¬
mands that must be repeated for the
creation of each entity. After descending
the menu structure path consisting of
the commands CREATE, LINE, ENDPTS,
CURSOR, the user can enter an arbitrary
JUNE 1986
83
MICROWAY’S 8087 RUNS 1-2-3"!
MicroWay is the world’s leading retail¬
er of 8087s and high performance PC
upgrades We stock a complete selec¬
tion of8087s that run at 5 and 8mhz. All
of our coprocessors are shipped with a
diagnostic disk and the best warranty
in the business - one year! We also
offer daughterboards for socketless
computers (NEC PC) and 287Turbo
which increases the clock speed of the
80287 from 4 to 8 mhz. Our NUMBER
SMASHER™ includes 640K ram. It will
run the IBM PC at clock speeds up to
10mhz and achieves a throughput of .1
megaflops with 87BASIC/INLINE, Intel
Fortran, or Microsoft Fortran. Software
reviewers consistently cite MicroWay
software and 8087 expertise as the
best in the industry! Our customers fre¬
quently write to thank us for recom¬
mending the correct software and
hardware to meet their specific needs
They also thank us for our same day
shipping! In addition to our own pro¬
ducts which support the 8087 and
80287, we stock the largest supply of
specialized software available For in¬
formation call us at
617-746-7341
Micro
fl lay
FASTBREAK™ employs the8087 to in¬
crease the speed of Lotus 1-2-3™ Ver¬
sion 1A or 1 A* by up to 36 to 1 $79
FASTPAK™ includes FASTBREAK soft¬
ware and a 5mhz 8087.$179
87SFL™ Microway’s Scientific Func¬
tion Library contains 170 scientific and
engineering functions Callable from
most 8087 compatible compilers First
Language $250; Additional $100
A2D-160™ Microway’s Data Acquisi¬
tion Board performs 160,000 12 bit
Analog to Digital conversions per
second! Includes software drivers The
fastest 12 bit A to D board available.
For the IBM PC or XT. $1295
SPEED UP YOUR AT
OR AT COMPATIBLE
WITH 287TURBO” - 8mhz
8087Support
For the IBM PC, PC XT, PC AT and Compatibles.
NUMBER SMASHER™ The World 5 s Fast¬
est Accelerator Card for the IBM PC, XT, and Com¬
patibles! Includes an 8086 and 8087 pair tested
to 10mhz, and 640K bytes of high speed ram.
Compatible with all software, operating systems
and hardware! Your program speed is increased
by a factor of 2.5 to 4.0. Floating point programs
run up to 2.8 times faster on the PC than on an
80287 equipped PC AT. One of the few accelera¬
tors on the market which is compatible with all
EMS cards Includes FASTBREAK. $1099
87/88Turbo™ is a stubby card which includes
a clock calendar and a speed controller which
changes the speed of your motherboard from 4.77
to 7.4mhz. Its use requires your PC to have a soc¬
keted 8224. Typical speed increase is 1.6. Some
programs run up to 2.5 times faster. The card over¬
comes the problem of slow hardware by slowing
up only when slow devices are accessed and
running at full speed otherwise. It includes an
8087-2 . $350
286T urboCache™ This new MicroWay ac¬
celerator uses 8K of cache memory and 80286/
80287 processors to provide an average speed
increase of 3 to 1 for most programs Call for
specifications, benchmarks and price.
MATRIXPAK™ manages a MEGABYTE!
Written in assembly language, our runtime pac¬
kage accurately manipulates large matrices at
very fast speeds Includes matrix inversion and
the solution of simultaneous linear equations
Callable from RM or MS Fortran, MS Assembler, or
87BASIC/INLINE.each $99
87FFT™ Written in assembly language, per¬
forms Forward and Inverse FFTs on real and com¬
plex arrays which occupy up to 512K bytes of
RAM. Also does convolutions, auto correlations,
hamming complex vector multiplication, and com¬
plex to radial conversions. Callable from most
8087 compatible compilers. $200
87FFT-2™ performs two-dimensional FFTs
Ideal for image processing Requires 87FFT $100
Micro
l/\lay
P.O. Box 79
Kingston, Mass
02364 USA
(617) 746-7341
_ je Our Intel-Lotus specification
memory card. The only EMS board which comes
with two megabytes of cool-running low power
drain CMOS ram installed. Includes ram disk, print
spooler, disk cache, and EMS drivers For the IBM
FC, XT, AT and compatibles.$549
DFixer™ Our disk utility which thoroughly
checks PC or AT hard disks for bad sectors and
updates the MS DOS file allocation table accord¬
ingly. Solves the AT hard disk problem! ... $149
DOptimizer™ Optimizes the way your hard
disk or floppy stores its files Speeds up accesses
by recombining fragmented files.$49
DCache™ Our disk caching software speeds
up your I/O by storing repetitively used tracks in
memory. The amount of memory used can be
selected in 64K byte banks.$49
87 Verify™ For users who have to be absolutely
sure of their results! This background task periodic¬
ally performs an 8087 accuracy and stress test$49
87 MACRO/DEBUG " Contains all the
pieces needed for writing 8087/80287 assembly
code including 8087 macros, object libraries for
commonly used functions, including transcen¬
dental trigonometries, conversions and Micro-
Way’s debugger- 87DEBUG.$199
OBJ -’’ASM™ A multipass object module trans¬
lator and disassembler. Produces assembly lan¬
guage listings which include public symbols, ex¬
ternal symbols and labels commented with cross
references Ideal for patching object modules for
which source is not available.$200
87 BASIC™ includes patches to the IBM Basic
or MS Quick Basic Compiler for USER TRANS¬
PARENT 8087 support Provides super fast per¬
formance for all numeric operations including trig¬
onometries, transcendentals, addition, subtrac¬
tion, multiplication, and division.each $150
87 BASIC/I N LI N E™ converts the output of
the IBM Basic Compiler into optimized 8087
inline code which executes up to seven times fas¬
ter than 87 BASIC. Supports separately compiled
inline subroutines which are located in their own
segments and can contain up to 64K bytes of
code. This allows programs greater than 128K!
Requires the IBM Basic Compiler Version 1 and
Macro Assembler. Includes 87BASIC $200
MICROWAY UDI runs RTOS or RMX com-
pilers under DOS.$300
8087 UPGRADES
All MicroWay 8087s include a one year warranty,
complete MicroWay Test Program and accurate
Installation Instructions
8087 5mhz $109
For the IBM PC, XT and compatibles
8087-2 8mhz $149
For Wang AT&T, DeskPro, NEC, Leading Edge.
80287-3 5mhz $179
For the IBM PC, AT and 286 compatibles
80287-8 8mhz $295
For the Tandy 3000 and ITT-XP.
287T urbo™ 8mhz it you own an AT,
Deskpro 286 or AT compatible, this is the card you
need to get reasonable numeric performance. It
plugs into your 80287 socket and includes a spe¬
cially driven 8mhz80287. The card comes in three
configurations The IBM AT version includes a
hardware RESET button.$395
NEC V20, V30 call
64K RAM Set 150ns $10
256K RAM Set 150ns $34
128K RAM Set PC AT $49
JRAM, AST, INTEL. CALL
DCache plus 64K ABOVE BOARD PS.375
DCache plus 128K AT ABOVE BOARD.475
Microsoft Fortran Version 3.31.209
IBM Professional Fortran.565
Ryan-McFarland Fortran Version 2.0.399
FORLIB+ or STRINGS and THINGS.65
Grafmatic for Fortran or Pascal.125
Plotmatic.125
NAG Fortran Library.300
Lattice C.269
Microsoft C or QuickBasic. CALL
IBM Basic Compiler Version 2.0.465
Summit BetterBASIC™. CALL
IBM Assembler w/Librarian Version 2.0.155
Microsoft Assembler Version 3.01 .99
Microsoft Pascal Version 3.31.199
STSC APL* PLUS/PC.450
Phoenix Plink86 or Cosmos Revelation... CALL
SPSS/PC+.595
EPSILON Text Editor.195
LABTECH NOTEBOOK.745
MultiHalo (one language).189
Fifth Generation FASTBACK.150
CIRCLE 169 ON READER SERVICE CARD
MECHANICAL CAD
number of line segments without re¬
turning to the menu. Similarly, entering
the commands CREATE, CIRCLE, and
CIR+RAD allows quick entry of a num¬
ber of circles of the same radius (the
program prompts for the radius only
once after CIR+RAD is selected).
The CREATE command options
lack an orthogonal mode to force the
entry of horizontal and vertical lines of
specified length. Instead, cadkey pro¬
vides separate options for the entry of a
vertical or a horizontal line, or one of
each, through a specified point. These
lines extend from top to bottom and
side to side of the current display. A
submenu command also is provided to
enter lines perpendicular to a reference
line, beginning at a specified point.
Several of the commands in the
CREATE menu (LINE, ARC, CIRCLE,
POINT, and RECTANG) lead eventually
to the position menu, which includes
these 11 selections: CURSOR, POINT,
ENDENT, CENTER, INTRSC, ALONGL,
POLAR, DELTA, KEY-IN, BACK-UP, and
ESCAPE. These features can be used for
snapping to points on entities or groups
of entities. For example, a line can be
drawn from the end of one line to the
end of another by entering the com¬
mand string CREATE, LINE, ENDPTS,
ENDENT, then selecting the two exist¬
ing lines near the desired ends. The
program locates the end of each se¬
lected line and constructs a line be¬
tween those two points (see photo 2).
If the CURSOR option is selected
from the position menu, points are en¬
tered at the current cursor position and
in the current plane—at the current
depth. When working in view 1, the top
or plan view, keeping track of where
objects are being created is a simple
matter. The D symbol in the status
window displays the elevation or Z-axis
distance from the drawing world origin,
and the X and Y indicators display the X
and Y coordinates of the screen cursor
in world coordinates. These coordinates
happen to coincide with the view coor¬
dinate system. The other views are not
so simple. In the front, back, right, and
left views, the X and Y indicators do not
change to X and Z or Y and Z to display
world coordinates. Instead, they con¬
tinue to display the view coordinates,
and the user must keep track of the ro¬
tation between the view coordinate sys¬
tem and the world coordinate system.
In isometric, axonometric, and
user-defined views, the viewing plane is
not perpendicular to any of the three
world axes, and the D indicator displays
the length of a vector from the world
origin to the viewing plane, perpendic¬
ular to the plane. A useful addition to
cadkey would be the ability to toggle
between the cursor tracking for world
coordinates and for view coordinates.
Although cadkey is a three-
dimensional drafting system, it is not a
modeling system for solids, cadkey’s
drawing primitives are linear objects
that can be grouped to form plane
shapes. A good example is the MESH
option used to model surfaces.
cadkey can create a mesh of lines
or points between two entities. If the
selected entities are parallel lines, the
mesh models a plane. If the selected
entities are lines inclined to each other,
the resulting surface is warped. Circles
of the same diameter in parallel planes
produce surfaces curved in one direc¬
tion; circles of different sizes produce
truncated cones. These surfaces, howev-
Although CADKEY provides
the color and line-type attri¬
butes to be assigned to all
entities , it does not provide
any line-width attributes.
er, are not stored in the drawing data¬
base as identifiable objects. Instead, the
individual lines are created and stored.
Thus, a surface created with the MESH
command is only a series of line seg¬
ments (see photo 1).
cadkey’s lack of hidden line re¬
moval processing and automatic per¬
spective generation also restricts its use
as a 3-D modeling system.
EDITING
Because cadkey allows the active view¬
ing/creation plane to be oriented arbi¬
trarily and provides the ability to snap
to features in front of and behind the
viewing plane, virtually any shape can
be created correctly on the first attempt.
Nonetheless, editing is an essential
function for any CAD system, cadkey
provides the basic editing functions
found in virtually all CAD systems—and
a few not found in many of them.
Among the basic editing commands
is DELETE, a selection on the main
menu. DELETE displays two options:
SELECT and LEVEL. SELECT offers four
ways to delete objects: SINGLE allows
the selection of an arbitrary number of
isolated entities; CHAIN provides for the
selection of a number of line and arc
entities connected end to end; WIN¬
DOW deletes objects contained com¬
pletely within the window, but not
those extending outside—the window
does not clip objects for partial dele¬
tion; and ALL DISP provides a means of
deleting all items currently displayed.
DELETES LEVEL option allows all
items on a level to be deleted whether
they are currently displayed or not.
An important command related to
the DELETE command is the RECALL
option of the EDIT command; it is able
to reclaim deleted entities (assuming
that the deletion has been made in the
current drawing session).
Editing functions are also provided
in the EDIT and X-FORM commands of
the main menu. EDIT provides two
options: BREAK and TRM/EXT. Unlike in
many systems, BREAK is not a partial
erase command; instead, it is used to
transform a single entity into two or
more entities and to assign new attri¬
butes to one or more of the new enti¬
ties. For example, a line passing
through a circle can be broken so that
the portion within the circle changes
line type and/or color. This facility is
particularly useful for indicating hidden
lines in a drawing.
EDIT’s TRM/EXT option provides
for partial erasure and for extending or
trimming two arbitrary lines so that
they meet at a common point. TRM/EXT
is particularly powerful in that it is not
restricted to line segments, but can trim
and extend two lines, an arc and a line,
or two arcs (see photo 3). In addition,
the command can trim or extend one
object so that it meets another at any
point on the second object.
The X-FORM command is used to
move, copy, scale, rotate, and mirror
objects (see photo 4). Although cadkey
has no explicit array command, as is
available, for example, with cadvance
(see “A CADD Solution,” Victor E.
Wright, March 1986, p. 86), its five
options in the X-FORM menu display
submenus with the selections MOVE,
COPY, and JOIN and can be used to
create arrays. MOVE translates an object
from one position to another; COPY
makes not just one, but an arbitrary
number of copies. JOIN performs in the
same way as COPY except that in addi¬
tion to copying elements, it draws lines
from each endpoint in the original to
the copy’s respective endpoints. For
example, copying a rectangle without
JOIN would create two rectangles; using
JOIN would create a cube. The MOVE,
COPY, and JOIN options, in turn,
display menus for the selection of enti¬
ties by pointing, selecting a chain of
JUNE 1986
85
(Desktop Publishing Edition)
£i£'»255£
Dr. HALO just became a publisher.
For the first time, users of Dr. HALO II and the JLASER card have
software that lets them merge text with grraphlcs and print
instantly. No more waiting to see how your report will turn out,
press a button on your mouse or keyboard and it prints instantly,
just like a snapshot.
Dr. HALO DPE has all the powerful features of Dr. HALO II with
some new twists for desktop publishing. Dr. HALO DPE supports
the JLASER and several advanced printers, has a new coordinate
display pop-up menu, and works with the new Genius VHR graphics
board and monitor.
This entire, unretouched, page was created using Dr. HALO DPE and
the JLASER card and printed on a Hewlett Packard LaserJet Plus.
The text was originally entered in WordStar, then read into Dr.
HALO DPE in the selected typefaces. The graphics were edited
Easy Icon Menus
WYSIWYG
■Virtual Page
•Complete Painting Functions
Over 20 fonts
■Image and ASCII Text Merging
•Document Compostion
Advanced Laser Printer Support
Support for 90 Graphics Devices
(including IBM EGA)
Grab and Show Program Modules
Instant "Snapshot" Printing
For more information, c
Media Cybernetics. Inc.
8484 Georgia Avenue
Suite 200
Silver Spring, MD 2091C
(301) 495-3305 or (800)
MECHANICAL CAD
PHOTO 3: TRM/EXT Command
TRIM/EXTEND
TRIM/EXTEND
DOUBLE
FIRST
BOTH
TRIM
MODAL
DIVIDE
END
TRIM/EXTEND
RESULT
The TRM/EXT command allows lines to be trimmed or
extended in several different ways. It is not restricted to use
with line segments but also can be used with arcs.
PHOTO 4: X-FORM Command
The X-FORM command can be used to move, copy, scale,
rotate, and mirror objects. This is particularly powerful with
respect to CADKEY’S three-dimensional capabilities.
entities, windowing, or selecting all
objects currently displayed.
Creating a rectangular array is a
two-step process, because the original
set of entities must first be copied in
one direction, then that row/column
must be copied in the second direction.
This apparent disadvantage is out¬
weighed by the ability to create not
only rectangular (two-dimensional)
arrays, but also three-dimensional ar¬
rays, which requires only a third step.
Arrays can be created along a vector de¬
fined during entry of the command.
X-FORM’s SCALE option provides
the ability to create a series of scaled
copies of one or more entities, as well
as moving and scaling an object at the
same time. This allows rapid construc¬
tion of pyramid objects; creation of sets
of entities, which differ only in scale,
from a single pattern; and rapid con¬
struction of perspective views by build¬
ing an array of scaled, tapered elements
using vanishing points as references.
The powerful 2D/ROT command of
the X-FORM menu allows the construc¬
tion not only of circular arrays of plane
figures, but also of toroidal shapes in
three dimensions (see figure 1). With a
combination of primitive shapes,
meshes, and the 2D/ROT command, the
user can model toroids, spheres,
domes, and arbitrary surfaces produced
by rotating a shape around an arbitrari¬
ly inclined axis.
DETAILING
cadkey’s main menu includes a selec¬
tion, DETAIL, to access a group of com¬
mands that provide the facilities for
automatic dimensioning, cross hatching,
and drawing notes—all essential ele¬
ments of a production drafting system.
Automatic dimensioning is accom¬
plished with the DIMENSN command.
This command provides six options:
HORIZTL, VERTICL, PARALEL, RADIUS,
ANGULAR, and DIAMETR, which should
cover all needs. These options prompt
for the two witness line origins and the
location of the dimension line, display a
calculated dimension for verification,
and draw the witness lines, dimension
line, and dimension text if accepted. To
speed the task of entering the witness
line origins, the options display the
position menu, providing the ability to
snap to features of drawing entities—
endpoints, centers, intersections.
As with most microcomputer-based
CAD systems, the dimension is not asso¬
ciated with the drawing entity to which
it refers. The user can dimension an
entity and then move it without affect¬
ing the location of the dimension. How¬
ever, the dimension is treated as a unit
for some functions, particularly those
editing functions contained in the DE¬
TAIL menu and submenus.
Other CAD systems may allow edit¬
ing of dimension text, but not many
others allow the dimension to be
treated as a unit. In these systems, the
fastest method often is to erase a
dimension and reenter it rather than to
modify it. On the other hand, erasing a
dimension that is not treated as a unit
may be difficult, because the elements
of the dimension may be superimposed
on other drawing entities.
In fact, cadkey does not treat di¬
mensions in the same manner as it
treats other drawing entities. The edit¬
ing commands that are used to move,
copy, and join entities such as lines, cir¬
cles, and arcs generally do not recog¬
nize dimensions. For example, X-FORM
COPY WINDOW copies all the lines, cir¬
cles, and arcs within the window, but
not the dimensions. This method of
operation is desirable because dimen¬
sions should not be copied, translated,
and rotated blindly based on geometric
relationships to other drawing entities.
Dimensions should be disassociated
from drawing entities unless they are
actually attributes of the entities.
Various aspects of dimensions can
be modified with the CHANGE com¬
mand. It allows tolerances to be altered
(which shortens the dimension text),
text attributes (font, height, aspect ratio,
and orientation) to be changed, text po¬
sition to be adjusted, number of deci¬
mals displayed to be changed, and
arrows to be switched from inside the
witness lines to outside. All of these
options contribute to cadkey’s ability to
produce attractive dimensions.
The DIM SCL option of the
CHANGE command provides another
useful feature. This option leaves the
dimension as is, with one exception—it
scales the value of the dimension text.
Therefore, a drawing of a pan can be
adapted to portray a scaled version
simply by scaling the dimension values.
Dimension values can also be changed
with DIM VAL, which allows new
dimension text to be entered.
While the CHANGE command
modifies existing dimensions, the SET
command modifies the parameters used
in the entry of new dimensions, cadkey
produces dimensions in accordance
JUNE 1986
87
How we
improved Structured
Query Language
Actually, we didn’t change a thing.
We just combined it with the best
relational database management system.
Introducing INFORMDC-SQL.
It runs on either MS™-DOS or UNIX™
operating systems. And now with IBM’s
SQL as part of the program, you can ask
more of your database. Using the emerg¬
ing industry-standard query language.
To make your job easier, INFORMIX-
SQL comes with the most complete set
of application building tools. Including a
full report writer and screen generator.
Plus a family of companion products that
all work together.
Like our embedded SQLs for C and
COBOL. So you can easily link your pro¬
grams with ours. File-it!7 our easy-to-use
file manager. And C-ISAM,™ the de facto
standard ISAM for the UNIX operating
INFORMIX is a registered trademark and RDS, C-ISAM and File-it! are trademarks of
Relational Database Systems, Inc. IBM, UNIX and MS are trademarks of International
Business Machines Corporation, AT&T and Microsoft, respectively. © 1985, Relational
Database Systems, Inc.
system. It’s built into all our products,
but you can buy it separately.
And when you
choose RDS, you’ll be
in the company of
some other good companies.
Computer manufacturers
including AT&T, Northern
Telecom, Altos and over 60 others. And
major corporations like Anheuser Busch
and The First National Bank of Chicago.
Which makes sense. After all, only
RDS offers a family of products that work
so well together. As well as with so many
industry standards.
So call us for a demo, a manual and
a copy of our Independent Software
Vendor Catalog. Software vendors be sure
to ask about our new “Hooks” software
integration program. Our number:
415/322-4100.
Or write RDS, 4100 Bohannon Drive,
Menlo Park, CA 94025.
And well show you how we took a
good idea and made it better.
RELATIONAL DATABASE SYSTEMS, INC.
CIRCLE NO. 143 ON READER SERVICE CARD
MECHANICAL CAD
PHOTO 5: Dimension Standards
to ANSI or ISO standards in ENGLISH or METRIC
. /-<!> .250
HORIZONTAL
VERTICAL
PARALLEL
RADIUS
ANGULAR
DIAMETER
NOTES
LABELS
TOLERANCING
The dimensions on a CADKEY drawing are quite versatile.
The size and other attributes can be changed, although
mixed units such as feet and inches are not possible.
The Ctrl-Y command can be used to produce check plots on
an Epson printer. The toroid shown above was created by
using the transform command on a polygon shape.
with ANSI standards, but can be set to
follow ISO standards using the SET
command (see photo 5). SET provides
extensive control of the parameters for
the appearance of dimensions—arrow
orientation, witness line visibility, deci¬
mals displayed, tolerance, display of
leading and trailing zeroes, and text
height, font, alignment, and aspect.
The UNITS option to the SET com¬
mand allows units to be scaled to pro¬
duce the correct numerical values for
inches, millimeters, feet, centimeters,
yards, meters, or user-defined values.
The program does not suffix dimension
values with unit symbols and does not
support mixed formats such as feet and
inches. SET UNITS does not rescale
existing units, but sets a current scaling
factor that applies only to all dimen¬
sions entered thereafter.
The UPDATE option allows certain
attributes to be globally set to the cur¬
rent set of attributes. The affected attri¬
butes are height and font of notes and
labels; and height, font, decimal places,
dimension scale, trailing and leading
zero display, tolerance mode, and toler¬
ance values. The changes can be made
to single or chained objects, objects in a
window, and all objects displayed.
Dimensions are visible only in the
view in which they are created. This
means that a three-dimensional object
can be dimensioned and plotted in all
views without the distraction of edge-on
dimensions being displayed in each
one. If the object is dimensioned in the
three orthographic views (isometric, ax-
onometric, or user-defined), the views
can be plotted from the same drawing
without the distraction of dimensions
being displayed in the various planes.
In addition to dimensioning, the
DETAIL menu includes an X-HATCH op¬
tion that automates the process of cross-
hatching areas enclosed by lines and/or
arcs (or circles). As with most paint,
area fill, or hatching processes, the area
must be enclosed or the hatching will
leak out and fill the entire drawing.
Nested enclosed areas—called
islands in the cadkey manual—can be
selected for hatching in one of three
ways: alternating areas are hatched, all
areas are hatched, or areas are hatched
in an arbitrary sequence. The hatching
sequence is determined by the selec¬
tion of the hatching boundaries.
As with dimensions, hatching pat¬
terns are visible only in the view in
which they are created; this eliminates
distractions in other views. Hatching
patterns are treated as single entities,
but they are not associated with the
hatching boundaries. Therefore, the pat¬
terns can be moved or rotated as units.
Holes can be created in hatching pat¬
terns by selecting the outer boundary
and a nested inner boundary, hatching
the annular space, then deleting the
entities making up the inner boundary.
cadkey is supplied with seven
hatching patterns—not an extensive
library, but the essential patterns for
mechanical drafting are available: brick,
steel, copper, alloys, aluminum, rubber,
and marble. A simple pattern of hori¬
zontal lines also can be selected. Hatch¬
ing patterns can be created at specified
scales and rotation angles.
Notes and labels are handled in
cadkey’s DETAIL menu with the NOTE
and LABEL options. The entities created
by these two commands have two prin¬
cipal differences: labels have leaders
and arrowheads and must be typed in
from the keyboard, whereas notes do
not have leaders and can be typed in or
read from a disk file. Labels are limited
to 256 characters including carriage re¬
turns. Notes are limited to 256 charac¬
ters if typed in or to 1,024 characters if
read from disk. The ability to read
notes from a disk file greatly eases the
use of key notes and boilerplates, be¬
cause these files can be created exter¬
nally with ordinary text editors; no con¬
version process is required prior to
reading the file into the drawing.
The program is furnished with
three fonts, BOX, SLANT, and BOLD, *
which can be changed with the DETAIL
SET TEXT command. Dimension and
note fonts can be set independently.
Changing the font partway through a
drawing alters only subsequent entries.
PRINTING AND PLOTTING
Plotting in cadkey is accomplished with
a separate program, PLOTFAST. Within
the main program, the FILES PLOT
command is used to create a plot file
that is used by the plotting program as
plotting data.
The FILES PLOT command has two
options: LIST and SAVE. LIST displays
the plot files in a selected subdirectory.
Each entry includes the file name, file
size, and date and time of creation. If
the entire list does not fit on one
screen, the program pauses until the
user presses the Enter key.
The SAVE option prompts for a file
name and creates a plot file from the
current drawing database. If the current
plot directory already contains a plot
file with the specified name, the old file
is overwritten, with no prompt.
JUNE 1986
89
DART - The first CAD computer
with a super high performance
AT™ Compatible.
System 286 - The first high
speed AT priced below the
IBM XT™.
The ADVANCED LOGIC RESEARCH computer has been tested for IBM compatibility with PHOENIX’S com¬
patibility test suite using the PHOENIX AT-COMPATIBLE ROM BIOS, and the PC-COMPATIBLE ROM BIOS.
WE DONT
THINK YOUR
PERFORMANCE
SHOULD BE
LIMITED
BY THE
‘STANDARD’
At ALR we don’t think your performance should be Explore the opportunity of the System 286 - The first
limited by the ‘Standard’. So preoccupied are today’s high speed AT below the price of an IBM XT™. The
computer makers with meeting the ‘Standard’, they low cost of this system did not reduce the performance,
seem to have overlooked the opportunity to do with the cpu speed of 8 MHz and co-processor speed
something much more worthwhile. 0 f 5 MHz. This System 286 is ready to calculate spread
Namely, the concept of improvement beyond that sheets and sort data base in a flash!
‘Standard’ acceptable level.
Option I/O device? That usually implies you need it and
it costs more. ALR believes a computer needs to
interface with at least a printer and in most cases
modems, plotters and other computers, so we design
our systems to include more standard I/O.
6-
5-
Standard
4-
I/O
3-
Devices
2-
1-
PC/AT
SYSTEM
286
Printer
Port
Printer
Serial
Port
Port 2
Serial
Serial
Port 1
Port 1
Clock
Clock
Clock
Calendar
Calendar
Calendar
1.2 MB
1.2 MB
12 MB
Floppy
Floppy
Floppy
IBM
ALR
DART
Examine the DART The first CAD computer with a super
high performance AT™ Compatible. The DART system
is powered by a 10 MHz 80286 cpu with support for
an 8 MHz 80287 math co-processor, when compared
to the IBM® AT’s 6 MHz cpu and 4 MHz co-processor,
the DART system will process your next CAD design
in almost half the time, with DIRECT ACCESS
RESPONSE TIME (DART).
PC/AT SYSTEM DART
286
‘Based on the Norton Utility Si-System Information Command.
PC/AT SYSTEM
286
LIST PRICES AS OF APRIL 1986
The concept of having enough memory is misleading.
It seems yesterday’s 64K of memory was enough.
Today, computers require at least 512K in order to run
popular programs such as Symphony™ or Framework^
The result? ALR System 286 and DART system both
have four times the memory capability built into its
‘motherboard’ so you don’t have to pay for it tomorrow.
High performance and more features usually results
in a more expensive system. However, the ALR System
286 and DART system does not match the ‘Standard’
price and this is one category we’re glad to be con¬
sidered ‘sub-standard’.
Let one of our sales engineers or dealers show you
the ALR System 286, DART system, Turbo XT and AT
Hirise IBM compatible systems that are designed to
limit your cost not your standard of performance.
CIRCLE NO. 199 ON READER SERVICE CARD
ADVANCED LOGIC RESEARCH, INC.
10 CHRYSLER
IRVINE, CA 92714
(714) 581-6770
ALR IN CANADA
416-229-6477
>119
ENGINEERING ADVANCED COMPUTERS
IBM® is a registered trademark of International Business Machines Corporation. IBM PC/AT and IBM PC/XT are registered trademarks of International Business Machines Corporation.
MECHANICAL CAD
The file created with the FILES
PLOT SAVE command is a text file in
the UNIPLOT file format. This is an
ASCII hie containing integer and float¬
ing-point data used by the plotting pro¬
gram. Plot hies can be edited with text
editors or word processing programs to
change attributes and plotting data.
In the standard conhguration, plot¬
ting is accomplished by running the
PLOTFAST program, which displays a
menu and prompts for the name of the
hie to be plotted. The parameters
offered include plotter type, media size,
plotting scale, X and Y offsets, serial
port, pen velocity, and baud rate.
PLOTFAST supports several plotter
series, including the Hewlett-Packard
HP7400, HP7500, and 758x series, and
the Houston Instrument DM/PL and
other plotters that use the same proto¬
col, such as Nicolet Zeta and Roland.
Once the plotting parameters are
entered, three options are available:
PLOT, RESTART, and EXIT. PLOT is the
default response, and pressing Enter or
Esc when it is displayed starts the plot¬
ting process. As the program sends data
to the plotter, it displays an item count
to indicate the plotting progress as well
as the current pen number.
The program supports both multi¬
pen and single-pen plotters for multi¬
pen plots. The Houston Instrument sin¬
gle-pen plotters pause for pen changes,
so the pen number display is useful.
PLOTFAST searches the drawing for all
entities to be drawn with pen number
1, then pen number 2, etc. to minimize
pen changes. The ability to plot with
multiple pens, even on a single pen
plotter, is noteworthy, cadkey does not
support line widths except on the
screen display, so pens of different
widths must be used to plot lines of
different weights.
The cadkey literature recommends
that plotting be done from a separate
computer than the one used for the
CAD workstation. This is a valid point
because the speed of the plotting pro¬
cess is determined by the speed at
which the plotter can accept data, not
by the speed of the computer or plot¬
ting software. The PLOTFAST program
requires 128KB of RAM, but does not
require a graphics board or the soft¬
ware interface module for operation.
Screen dumps to a printer that ac¬
cepts Epson-type control codes can be
generated from within cadkey. The pro¬
gram prints a copy of the screen—
menus and all—scaled to fit an 8^-by-
11-inch page, with the plot rotated 90
degrees (see figure 1). If the printer is
off-line when the print job is requested,
the user is sent to DOS with a divide
overflow error. Printer plots are useful
for cursory checks or illustrations.
SYMBOL LIBRARIES
A feature of a microcomputer-based
CAD system that is essential for produc¬
tion drafting is the ability to define and
use symbol libraries. Following the
scheme established by the name of the
basic drawing file —part file — cadkey
calls a symbol library file a pattern file.
Only one part file can be active at a
time, but pattern files can be merged
with a current part file, or drawing.
Pattern files can be inserted into the
current part file at arbitrary locations,
then scaled and rotated.
The FILES command of the main
menu provides the facilities for creating
and retrieving pattern files. The com¬
mand FILES PATTERN CREATE creates a
pattern file, cadkey prompts the user to
select the entities that will make up the
pattern. Four methods of entity selec-
T \e process of creating a
pattern file does not
remove the selected entities
from the screen and always
creates a disk file.
tion are available—SINGLE, CHAIN,
WINDOW, and ALL DSP. After the enti¬
ties are selected, the program prompts
for a base point, which will be used to
reference the insertion of pattern in¬
stances. Finally, the user is prompted
for the pattern file name.
The program places the pattern file
in a directory, which is specified in the
pattern file name as a path, or in the
default pattern file subdirectory, which
is defined in the configuration process.
The path and file name string is limited
to 40 characters.
The process of creating a pattern
file does not remove the selected enti¬
ties from the screen and always creates
a disk file. This ensures that all defined
patterns are available to all part files.
Patterns are inserted in part files
with the FILES PATTERN RETRIEVE (or
LST/RTV) commands. The program
prompts for a pattern file name, an in¬
sertion point, a scale factor, and a rota¬
tion angle. The pattern files available in
any directory can be displayed and se¬
lections made with the pointing device.
Patterns are not single entities.
When a pattern is retrieved and placed
into a cadkey part file, it is not refer¬
enced. Instead, it is copied into the part
file as a group of separate entities. Each
entity can be moved, rotated, scaled, de¬
leted, or edited as can any other entity.
Therefore, if a complex pattern is in¬
serted incorrectly, repositioning it—or
even deleting it—can be difficult.
MACRO FACILITY
cadkey provides a macro facility in its
CADL (cadkey Advanced Design Lan¬
guage) files. A CADL file is an ASCII text
file—actually a database file consisting
of variable length records. Each record
is a key word—the name of an entity or
a command, with the required param¬
eters or arguments. CADL files can
describe a number of entities, the com¬
mands to manipulate the display, or
both, and they can be executed from
the FILES menu, with the drawing
adjusted accordingly. CADL files are
created in one of two ways: they are
extracted from the database or gener¬
ated with a text editor. A combination
of the two methods is possible.
Drawing entities in a CADL file can
be located in either world or view
coordinates. The set of data primitives
includes view rotation matrices. The
drawing entities allowed are arcs, cir¬
cles, lines, points, and text strings. Lines
and points can be entered in world or
view coordinates. However, an arc or
circle cannot be specified in the same
manner. A circle, for example, requires
a scalar value for the radius and the
coordinates of three points to deter¬
mine the plane in which the circle lies.
The view record of a CADL file sets
the plane in which circles and arcs are
contained before they appear in the file.
A view record needs to appear only
when the view changes, so several cir¬
cles and arcs may follow the record.
The CADL file produced by the
FILES CADL OUTPUT sequence pro¬
vides a static description of a drawing.
The file also can contain commands that
simulate series of keystrokes entered
from the keyboard. The only commands
supported are those for display control.
The ability to put program instructions
in the CADL file is not available in the
current release of cadkey, but Micro
Control plans to offer this in its next re¬
lease, scheduled for release in May.
As currently implemented, CADL
files can be used for two purposes: ex¬
porting coordinate data to external pro¬
grams for nongraphic processing and
importing data from external programs
for the display of design data. For ex-
JUNE 1986
91
TECH PERSONAL COMPUTERS is a full service manufacturer of Micro Computer Products and offers a
complete line of Desktop, Portables and Multi-User Computer Systems as well as an accessory
line of over one hundred enhancement products. TECH PERSONAL COMPUTERS are
all backed by a full one year warranty with additional maintenance coverage
and extended maintenance contracts available through Mohawk
Data Sciences. For more information concerning hundreds
of MDS Service Centers throughout the United
States, contact TECH PERSONAL
COMPUTERS at (714) 754-1170.
Tech PC Desktop computers are
engineered to exceed industry-
standards. Each unit is housed in
an attractive and sturdy steel
case designed to blend in with
the office or home environment
and at the same time protect the
system components from damage.
The units’ built in fans are de¬
signed for maximal cooling and
minimal noise. A full compliment
of expansion slots and extra
capacity power supply give each
of the Four Desktop models the
ability to add additional acces¬
sory boards and peripherals to
the unit without difficulty. The
Intel 8088 and 80286 micro¬
processor based motherboards
used in the Tech Personal
Computers meet or exceed IBM
compatibility standards with
respect to processing speed and
memory capabilities. All of the
four desktop models are de¬
signed to function for a wide
variety of people in a wide
variety of situations.
TECH PC DESKTOP COMPUTERS are avail-
able now in 4 different base models:
TECH PC/XT DESKTOP.$ 749
Options:
Tech PC/XT with 20MB Hard Disk . .$1249
Tech PC/XT with 20MB Hard Disk,
Monochrome Monitor, Hercules® Compatible
Mono/Graphics Card.$1449
TECH TURBO PC/XT DESKTOP.$899
Options:
Tech Turbo PC/XT Desktop with 20MB Hard
Disk.$1399
Tech Turbo PC/XT 20MB Hard Disk,
Monochrome Monitor, Hercules® Compatible
Mono/Graphics Card.$1599
TECH PC/AT DESKTOP.$1699
Options:
Tech PC/AT with 20MB Hard Disk ... $2099
Tech PC/AT with 20MB Hard Disk,
Monochrome Monitor, Hercules® Compatible
Mono/Graphics Card.$2299
TECH TURBO PC/AT DESKTOP.$1799
Options:
Tech Turbo PC/AT Desktop with 20MB Hard
Disk.$2199
Tech Turbo PC/AT with 20MB Hard Disk,
Monochrome Monitor, Hercules® Compatible
Mono/Graphics Card.$2399
All TECH PC DESKTOPS available with tape
backups, hard disks up to 280 megabytes,
networking systems, and hundreds of other
hardware and software accessories.
714 / 754-1170
circle NO. 179 on reader service card 2 131 S. Hathaway, Santa Ana, California 92705
TELEX: 272006 Answer Back-TECH FAX: 714/556-8325
ENGINEERED
IQ EXCEED
INDUSTRY
STANDARDS
MECHANICAL CAD
ample, the user could draw a structural
framework in three dimensions and ex¬
port the coordinate data of all the mem¬
bers via a CADL file. An external struc¬
tural design program could scan the
CADL hie to determine nodes and con¬
nectivity of the framework, prompt the
designer for loads and joint types, and
size the structural members. Then, the
structural design program could pro¬
duce another CADL hie, containing not
only the original geometry, but also text
to indicate member sizes and joint
types. The CADL hie produced by the
structural program can then be exe¬
cuted, saved as a part hie, and plotted.
At the present time, CADL hies can¬
not perform the same functions as do
macro facilities in some CAD programs.
When the program instructions are im¬
plemented, however, a true macro fa¬
cility should be available.
DRAWING TRANSLATION
cadkey’s developers support two recog¬
nized standards for the interchange of
drawing data, in addition to providing a
readable form of their own database.
These facilities allow for the free inter¬
change of drawing data from cadkey to
other CAD programs—both micro-
computer-based and larger systems.
DXF. The DXF hie is the Drawing Inter¬
change Format that was originated by
CalComp’s AutoCAD. Although cadkey
and AutoCAD are competitors, cadkey’s
creators have wisely chosen to support
the DXF hie method of drawing data
interchange. The cadkey program pro¬
vides a means to save part hies in the
form of DXF hies and to load or re¬
trieve data from DXF hies.
Saving and loading DXF hies are
supported to different degrees, cadkey
can load a DXF hie containing the fol¬
lowing entries: ARC, BLOCK, CIRCLE,
ENDBLK, ENDSEC, INSERT, LINE,
POINT, POLYLINE, SEQEND, SOLID,
TEXT, TRACE, and VERTEX. This assort¬
ment of entities allows most of a DXF
hie created by AutoCAD or another pro¬
gram supporting DXF hies to be im¬
ported correctly, cadkey generally im¬
ports the DXF entities into the current
level and assigns the current color, line
type, and line width. (Line width is cur¬
rently associated only with the display.)
Some entities cannot be imported
correctly, because cadkey and AutoCAD
do not describe them in the same man¬
ner. For example, AutoCAD allows for
blocks to be inserted with different X
and Y scale factors, providing control of
aspect ratio, whereas cadkey’s patterns
are inserted with a single scale factor
that applies equally to all three dimen¬
sions (AutoCAD has the same restriction
with respect to the insertion of blocks
that are preceded by the * character).
Arcs and circles contained in DXF block
references with unequal X and Y scale
factors are not imported, because cad-
key has no way to represent objects
with different X and Y scale factors and
no primitive data type for ellipses. Lines
and points in the same block references
can be transformed so that they are rep¬
resented correctly, and, therefore, they
can be imported.
Presumably because AutoCAD has
only a single coordinate system and is
basically an enhanced two-dimensional
system, cadkey considers all DXF co¬
ordinate data to be view coordinates,
rather than world coordinates. (Auto¬
CAD’s data structure does not provide
for objects in planes inclined with re-
OtADKEY’s creators have
wisely chosen to support the
DXF file method of drawing
data interchange.
spect to the X-Y plane, only for planes
parallel to the X-Y plane, so it has no
straightforward way to interpret DXF
coordinates as world coordinates.)
However, the user should be able to as¬
semble a three-dimensional cadkey
model by importing enough ortho¬
graphic and auxiliary views.
DXF files created with cadkey are
limited subsets of the complete DXF file
specification, again, because cadkey and
AutoCAD do not have completely paral¬
lel data structures. Three options are
available for selecting the entities that
will be placed in the DXF file: SELECT,
LEVEL, and ALL ENT. SELECT prompts
for the selection of some or all of the
entities visible on the screen. Selection
of visible entities has a few inconsisten¬
cies, although the scheme is workable
once understood. Selecting single enti¬
ties works as expected unless several
entities are stacked, in which case cad-
key indicates that an entity has been
found, but nothing is output. Selecting
entities with a WINDOW or ALL DSP op¬
tion exports stacked lines, lines perpen¬
dicular to the viewing plane, and circles
and arcs in planes that are parallel to
the viewing plane. The coordinates of
the lines and points, regardless of the
view, are transferred with world X-Y
coordinates, and the coordinates of cir¬
cles and arcs in the current view plane
are transferred with view coordinates—
as if they were world coordinates.
Because circles and arcs are speci¬
fied with centers that have X-Y coordi¬
nates and radii that have a scalar value,
the center of the circle or arc will be in
a predictable place when the drawing is
transformed into the DXF file. However,
the value for the radius is taken regard¬
less of the displayed view used. This
means that the representation of the cir¬
cle will be wrong in the transformed
file unless the circle or arc was in the
same plane as the transformed view.
One last note on the use of DXF
files: cadkey creates a minimal DXF file,
including only the data that can be asso¬
ciated with the POINT, LINE, ARC, and
NOTE (text) entities. The header, table,
and block sections of the DXF file are
empty in the output file. Only the enti¬
ties section contains entries.
IGES. Whereas the DXF file is the
industry-accepted method of interchang¬
ing drawings from one microcomputer-
based CAD system to another, micro-to-
mainframe exchange is normally accom¬
plished with the IGES standard. The
cadkey package supplies an IGES trans¬
lator as an extra cost option.
GEOMETRIC ANALYSIS
cadkey provides a group of three
options under the CONTROL VERIFY
command that should prove useful in
design work at the keyboard: PERIM,
AREA/CN, and MOMENT.
PERIM calculates the perimeter of
circles, arcs, and arbitrary line strings. It
has two options: CIRCLE prompts for
the selection of a circle or arc, then dis¬
plays the perimeter of the circle pro¬
jected on the current view plane, as
well as the actual perimeter; GENERAL
displays the selection menu, which as
with other commands allows the selec¬
tion of isolated objects, chains of ob¬
jects, all objects in a window, or all ob¬
jects currently displayed. Again, the pro¬
gram displays the perimeter projected
on the current view plane and the ac¬
tual length of the selected objects.
AREA/CN calculates the area and
centroid of a closed shape or of the
segment of a circle formed by adding a
temporary chord to an arc. The com¬
mand provides three options: CIRCLE,
POLYGON, and GENERAL. POLYGON
and GENERAL require the selection of a
closed shape, POLYGON for lines only,
and GENERAL for lines and arcs. The
entities that form the boundary must
meet precisely. When a valid selection
has been made, the program displays
the area on the prompt line. Pressing
JUNE 1986
93
ONLY SEATTLE TELECOM & DATA
solves the expanded memory and
speed problems of the IBM PC/XT.
• 2 MB EMS memory •Supports both 8 and 16 bit
• Fully compatible with
the industry-standard
Lotus/Intel/Microsoft
(LIM) Expanded
Memory Specifica¬
tion (EMS), version 3.2
• Expandable up to 8
megabytes.
• Compatible with all
major productivity
software such as Lotus
1-2-3, Symphony,
Framework II.
Top Board processes EMS-
applicationsuptothreetimesfaster
than any other EMS board on the
IBM PC XT. Top Board is the only EMS
expanded memory board with
both an 8 and 16 bit data bus and
can function across the 16 bit wide
bus with the STD-powered PC-286
card.
Top Board frees you from the
memory limits of 640K. Expand
memory up to 2 MB with the confi¬
dence of LIM-compatible stand¬
ards. Unleash thisfull potential with
processor speeds up to 12 MHz
when used with our PC-286 board
across the built-in, 16 bit data bus to
the Top Board.
Expect performance that
exceeds industry standards. To¬
gether, the PC-286 and Top Board
perform beyond their individual
state-of-the-art designs. Your CAD,
spreadsheet, database or other
software designed to utilize the EMS
specification will run up to 8 times
faster than an IBM PC XT with this
product combination.
The Top Board is fully compa¬
tible with the Lotus/Intel/Microsoft
Expanded Memory Specification.
It's unique design has an efficient
and flexible paging scheme for
even greater performance with
EMS-compatible applications and
multitasking software.
For the performance you and
your PC have been waiting for,
order a Top Board today. Solveyour
PC's problems with processing¬
intensive applications and improve
your own personal productivity.
CALL (206) 883-8440
SEATTLE TELECOM
& DATA, INC.
2637 151st PI. N.E.
Redmond, WA 98052
Top Board and PC-286 are trademarks of STD. Framework is a trademark of Ashton-Tate.
Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corporation. IBM PC XT is a trademark of IBM Corp.
Contact us regarding optional EGA graphics and multifunction daugther boards.
CIRCLE NO. 124 ON READER SERVICE CARD
MECHANICAL CAD
the Enter key displays the X and Y coor¬
dinates of the centroid, or center of
gravity, which is calculated by dividing
the area into a series of rectangles, re¬
ferred to as panels.
GENERAL prompts for the panel
width, which affects the accuracy of the
area and centroid calculations. The nar¬
rower the panel, the more accurate the
results. The command actually draws
the panels on the screen as it calculates
the area, in some cases obliterating the
display. A redraw clears the screen of
the panel lines and other markers.
The MOMENT option of the CON¬
TROL VERIFY command calculates the
moment of inertia of the shape about a
specified axis and has the same general
format as does the AREA/CN option.
However, in addition to prompting for
the shape, and panel width in the GEN¬
ERAL case, the program prompts for a
reference axis about which the moment
is taken. The axis is indicated as a point,
using the position menu, and is a tem¬
porary vector passing through the speci¬
fied point, perpendicular to the view
plane. Again, the program prompts for a
panel width. The calculation is not
instantaneous, but usually takes only a
few seconds. Using larger panels widths
speeds the calculation.
Aside from the restriction imposed
by keeping its entire drawing database
in memory, cadkey has few limitations.
The program uses 33 overlays, which
produce a fair amount of disk activity.
Virtually every menu change requires a
disk access. If menu selections are
made with the function keys, response
is fast and no keystrokes are lost, even
though the disk access may delay the
screen output. With a pointing device,
the user can enter commands faster
than the program accepts them, due to
the slight delays of disk activity and re¬
writing the menu window.
As expected, the program operated
considerably faster on an AT than on a
PC. Loading the program on a Heathkit
H-200 AT compatible required approxi¬
mately 13 seconds, whereas a PC with
add-on hard disk and V20 microproces¬
sor took approximately 22 seconds.
View changes and autoscaling took sev¬
eral seconds, but varied depending
upon the number of entities in the
drawing. The speed of redraws were on
a par with other CAD packages.
The program was tested on a Priam
SharedSpace (formerly ClusterTower)
external hard-disk unit, connected to an
AT and a PC. Loading the program into
the AT required 17 seconds, compared
to 14 seconds for loading the program
from the AT’s internal 30MB (type 20)
disk drive. In other respects, the speed
of the program seemed identical when
run from the external or the internal
disk drive. Loading the program from
the SharedSpace unit to the PC re¬
quired approximately 23 seconds, again
only slightly longer than loading it from
the internal disk drive. The primary ad¬
vantage of using the external unit is that
pattern libraries can be stored in a sin¬
gle location and made available to sev¬
eral workstations, thereby reducing re¬
dundant storage, eliminating the possi¬
bility of retrieving an out-of-date pattern
file, and simplifying the task of pattern
file management.
DESIGN EXTENSIONS
In its standard form, cadkey is a CAD
program—it performs basic drafting
tasks and is not specific to any particu¬
lar design discipline. However, the ven¬
dor apparently intends for the system to
be the basic component of more
advanced CADD systems.
cadkey is a powerful 2-D/3-D pro¬
duction drafting system, although its
lack of certain features may limit its ap¬
peal to some designers—for example,
the lack of feet and inches units dis¬
plays is a drawback to architects and in¬
terior designers. Furthermore, it is not
a 3-D modeling system in the usual
C ADKEY seems best suited
for mechanical design and
drafting in its current
configuration, but should
be useful in many fields.
sense. Its set of data primitives includes
no cubes, spheres, or cylinders. Nor
does it create perspective views auto¬
matically nor remove hidden lines.
However, for many designers, cadkey
can serve as a single tool for creating
orthographic drawings and wireframe
models of three-dimensional objects
and for constructing perspective views.
cadkey also provides several geo¬
metric analysis tools useful to designers,
particularly in the area of machine
design. This facility, if expanded, could
set cadkey apart from many CAD pro¬
grams. The program seems best suited
for mechanical design and drafting in
its current configuration, but should be
useful in many fields, including techni¬
cal illustration, especially with its ability
to read text into a drawing from a disk
file prepared with a word processor.
cadkey documentation is substan¬
tial. The manual is contained in an SV 2 -
by-11-inch loose-leaf binder that is
more than an inch thick and filled to
capacity. It is organized with tabs corre¬
sponding roughly to the main menu
selections. Each main menu section tab
contains a chart illustrating the various
paths from the main menu selection to
the bottom of the menu structure.
cadkey provides a user interface
that most designers should understand.
The paradigm of viewing planes that
can be rotated and translated arbitrarily
is strange at first, but, once grasped, it
seems the natural way to work.
All menus are furnished as text
files that the main program reads into
memory. Although the cadkey manual
does not provide details on customizing
these menus, it does note that they can
be altered within certain limitations.
Prompts are also furnished as text files,
so they too can be altered for custom
versions of the program.
By providing for both DXF and
IGES file translation, Micro Control Sys¬
tems has made cadkey drawing files
available to design programs written to
industry-standard formats. This is an
important point in the selection of a
CAD program. Although the CADL facil¬
ity may encourage third-party vendors
to extend the program and may be
used for any design extensions pro¬
vided by Micro Control Systems, it is
unlikely to supplant the DXF or IGES
formats. Third-party developers will fol¬
low the formats that promise the largest
markets—DXF and IGES.
The CADL facility must be consid¬
ered a preview of future versions of the
program. Currently, it is a rudimentary
facility for import and export of graphic
data for use with other design pro¬
grams. When the command facility
promised in the manual is added
(BASIC-like statements), the user may
be able to extend the program with in¬
teractive macros and perform design
tasks within cadkey. I""— 1
CADKEY: $2,695
Micro Control Systems
27 Hartford Turnpike
Vernon, CT 06066
203/647-0220
CIRCLE 338 ON READER SERVICE CARD
Victor E. Wright is the manager of process
engineering at Luckett & Farley, located in
Louisville, Kentucky. This article is his fourth
in a series of reviews of micro-based com¬
puter-aided drafting systems.
JUNE 1986
95
ILLUSTRATION « ANDY LEVINE PHOTOGRAPH «JOHN LEI
By using the horizontal and vertical
retrace periods and swapping the
visual and active page, users can
achieve almost instantaneous
display changes without snow
for text pages on a CGA
AUGIE HANSEN
ers use the routines provided with DOS
and in ROM BIOS to achieve portability
of programs both to new versions of
DOS and to new members of the PC
family. In IBM terminology, programs
that adhere to the DOS/BIOS interfaces
are “well behaved.” The penalty for
good behavior is a slower execution for
screen-intensive applications because of
the high overhead associated with the
DOS and BIOS calls.
For many programs, the portable
approach is the way to go. But the PC
public has an appetite for sizzle, which
sells as much software as it does steak.
A quick look at the top-selling software
products bears this out: programs that
have snappy screen displays (assuming
requisite good performance otherwise)
have a better chance in the marketplace
S ince its introduction in 1981, the
IBM PC has been offered with the
choice of monochrome or color/
graphics display systems. Initially, the
majority of systems were configured for
monochrome only because it was the
less expensive alternative. The situation
has changed dramatically in just a few
years. Now surveys and estimates of
new sales show a more even distribu¬
tion of monochrome and color/graphics
displays. Of course, both may be in¬
stalled on the same machine, although
most programs are written to display
output to only one at a time.
DOS provides a set of routines that
establish the video mode, write data to
and read data from display memory,
and perform a variety of related tasks.
IBM recommends that program design-
INSTANT SCREENS
than programs that do not. For exam¬
ple, an editor that takes a second or
two to scroll the screen is going to cap¬
ture less attention than one that does
basically the same job but scrolls the
screen in one-tenth of a second or less.
Programmers can be an impatient lot,
sometimes willing to pass up otherwise
excellent editors, even free ones, be¬
cause they operate slowly when
updating the screen.
An inherently faster but decidedly
less portable way of updating the
screen is to write directly to its asso¬
ciated memory. A convenient way of
managing the screen is to keep off¬
screen buffers (one or more) in the
program’s data space and to use a
block-copy routine that quickly shuffles
a memory image to physical display
memory. For the monochrome display
adapter, this strategy causes no prob¬
lem. It also works for the IBM Color
Graphics Adapter (CGA) in any of the
graphics modes. However, in either 40-
or 80-column text mode, the original
CGA is a problem because, unlike the
monochrome adapter, the CGA exhibits
visible interference when a program
tries to access display memory while
the screen is being updated.
This interference, an irritating puls¬
ing of short lines covering portions of
the screen, is referred to as snow . Sev¬
eral methods of avoiding snow are
available. One way is to synchronize the
display accesses during reading and
writing operations with the time peri¬
ods within a display refresh cycle that
are considered safe. The safe times are
the horizontal and vertical retrace peri¬
ods of each displayed frame. Another
involves blanking (turning off) the
raster scan while the display memory is
being written to. Each approach carries
advantages and disadvantages.
DISPLAY ADAPTER BASICS
The screen interface package can be
best appreciated by first understanding
why the CGA retrace periods are the
only safe times for display memory ac¬
cesses. (This discussion does not apply
to the IBM Enhanced Graphics Adapter
because it uses faster memory devices
and additional logic that precludes
problems with simultaneous access by
the CPU and video refresh circuitry.)
The memory on the display adapt¬
er is placed within the address space of
the central processor. The CGA memory
begins at B800H and extends upward
for 16KB, enough for one high-resolu¬
tion graphics screen (128,000 pixels), or
four screen pages in 80-column text
mode. Text mode is the focus here.
FIGURE 1: Raster Scan
HORIZONTAL SCAN
HORIZONTAL RETRACE
DISPLAYED REGION
TIME
Any transmission of data during the period that the beam is writing to the screen
will cause visible interference. Transmissions must take place during retrace.
Figure 1 shows the horizontal
sweep signal, the signal within the de¬
vice that is responsible for the horizon¬
tal deflection of the electron beam that
paints the screen. The figure depicts
one horizontal scan period. The depen¬
dent axis (up) is the beam deflection as
a function of time shown along the
independent axis (across). On a com¬
puter display, the screen image is un¬
derscanned —the image is completely
visible within the normal viewing area.
The result is a framed picture with a
border. (In contrast, television sets use
overscanning to make the image bleed,
that is, leave no border.) The beam is
turned off completely (blanked) during
retrace to avoid leaving unwanted resi¬
due on the screen.
The IBM display is noninterlaced,
which means 262.5 horizontal scans
occur per frame (one full screen
image), and 60 frames occur per sec¬
ond. With 15,750 horizontal scans per
second, each takes about 63.4 microsec¬
onds. Only a small portion of a single
scan, typically 20 percent or less, is allo¬
cated to the horizontal retrace (one of
the safe times for display memory ac¬
cesses) as shown in figure 1. One byte
of data can be copied safely to or from
display memory during this period.
Programs that copy entire words
(16 bits) in horizontal retrace may get
by on some machines but fail on
others. The original CGA board on one
tested PC showed annoying jitter and
interference along the left side of the
display area when running programs
that try to copy words instead of bytes.
The behavior appears to be tempera¬
ture sensitive, indicating that transfer¬
ring more than a byte per retrace per¬
iod leaves too little of a safety margin.
The horizontal sweep signal moves
the electron beam from side to side. If
it were the only sweep signal affecting
the beam, nothing but a single straight
line would appear on the display sur¬
face. Another kind of sweep signal is
needed to move the beam up and
down the face of the tube. This is the
vertical sweep and it has the same basic
sawtooth shap^ as the horizontal sweep,
but a slower rate of change. At mini¬
mum deflection, the beam is at the top
of the screen; it is moved toward the
bottom as the deflection increases.
A vertical retrace period takes
place during the vertical synchroniza¬
tion pulse period at the end of each
frame. During this time, the electron
beam is blanked and moved from the
lower right corner of the screen back to
the upper left corner. This period is
long enough—a little more than one
millisecond—to permit a block of 250
data words (character and attribute
pairs) to be transferred to or from dis¬
play memory without interference.
VIDEO INTERFACE
A few important considerations affect
the design of a program that will inter¬
act tightly with the display system. Be¬
cause of the choices available in the de¬
sign of a video application, no two de¬
signers are likely to accomplish the
same task in the same way. The follow¬
ing is just one method.
The first decision made in this de¬
sign was to use a buffered screen inter¬
face; that is, an image of what is to be
sent to the display is assembled first in
the program’s own data space. When
complete, the image is copied as quick¬
ly as possible to display memory via a
block-copy routine where it is periodi-
PC TECH JOURNAL
One byte of data can be transferred during each horizontal retrace and 240 words
can be transferred during a vertical retrace, all without causing snow.
cally repainted on the screen by the
raster-scan logic. Raster is the pattern of
tightly-spaced horizontal lines that
produce the displayed image on a cath¬
ode ray tube (CRT).
Many programs use an unbuffered
approach, which is adequate for most
purposes. Characters are written into
display memory via DOS and BIOS rou¬
tines, but no memory image is retained
by the applications program.
Most advanced microcomputer
users want an instant response in
screen update; for example, they expect
a command selection from a menu to
be displayed as soon as the key is re¬
leased. A few tenths of a second or less
is a good rule of thumb. Such a re¬
sponse is attainable with a modest
amount of programming. As noted
above, however, portability to machines
other than the IBM PC may be sacri¬
ficed; special versions of the screen-
interface programs may be required.
The routines described in this arti¬
cle assume that programs calling them
already have done an equipment inven¬
tory and set up the display system in
the 80-column text mode.
Available methods of synchroniza¬
tion depend on the use of the status
register at I/O address 3DAH. This is a
read-only register on the CGA that has
two bits of interest to the block-copy
routine: when bit 0 is high, it indicates
that a horizontal retrace is in progress;
when bit 3 is high, it indicates that a
vertical retrace is in progress.
As noted, single bytes can be writ¬
ten during horizontal retrace periods,
and large blocks of data words can be
written during vertical retrace periods.
To compress the time needed to trans¬
fer a screen image, the two approaches
are merged using a combination of the
horizontal and vertical retrace periods
(this is explained with the block-copy
routine that follows).
The mode control register, a write-
only register at I/O address 3D8H on
the CGA, has a bit that may be reset (to
0) to disable video. Bit 3 must be set to
1 to turn on the beam that paints the
screen. Turning off the beam is an ef¬
fective way to prevent snow. However,
the beam cannot be left off for more
than about three character rows of data
before flicker becomes apparent. The
BIOS video scroll routines use this
technique and are unpleasant to view if
the background color is not black.
BLOCK COPY
The instant screen method described
here uses a memory buffer that holds
the same amount of data as one display
page on the standard CGA. The block-
copy routine, CPBLK.ASM (listing 1),
copies the contents of the memory buf¬
fer to display memory only during safe
times. The memory buffer has 4,000
bytes: 2,000 are for characters (25 rows
by 80 columns) and 2,000 hold the attri¬
butes associated with each character.
Display memory has 4,096 bytes per
page (four pages in 80-column mode),
but the last 96 bytes of each page are
unused by most programs.
The source code for cpblk is
coded with conditional pseudo opera¬
tors and, therefore, must be assembled
using a macro assembler that recog¬
nizes Microsoft assembler pseudo oper¬
ators. Alternatively, the conditional as¬
sembly lines can be removed and the
file edited for customization to individ¬
ual compilers used for the C language
parts of the package.
An image is copied from applica¬
tion memory to display memory in
blocks. Six blocks may be copied in
one-tenth of a second. Each block has
two parts, as shown in figure 2. A full
240 words are copied during the verti¬
cal retrace period in one string move
operation. Another 94 words are copied
as single bytes, one per horizontal re¬
trace period. These values are based on
both calculations and empirical mea¬
surements and are conservative enough
to work with a worst-case display adapt¬
er without causing visible interference.
(The color display system tested experi¬
enced very noticeable interference
when an attempt was made to copy
more than 248 words during vertical re¬
trace and more than a single byte dur¬
ing a horizontal retrace period.)
Interrupts are turned off only dur¬
ing the critical time when cpblk is wait¬
ing for the start of a horizontal retrace
period. This is done because even the
slightest delay (by a keyboard or clock
interrupt, for example) could cause a
display memory write at the wrong
time, resulting in snow. The vertical
interval is relatively long and it has
enough of a safety factor for the num¬
ber of words being transferred that
interrupts are left on. If interrupts were
turned off during the vertical retrace
period, problems would result for other
programs, such as the clock update rou¬
tine and resident utilities.
DOUBLE BUFFERING
To produce the snappiest performance
from this display interface technique,
programs should use an in-memory
screen buffer that is updated out of the
user’s view, then copied to display
memory as quickly as possible. A
method of achieving nearly instant CGA
updates is shown in figure 3. The tech¬
nique is called double buffering be¬
cause two levels of buffers are main¬
tained in the application program. A
two-step process is used to form a com¬
posite image in a screen buffer before
it is copied to physical display memory.
Application buffers may be any size
and are usually thought of as rectangu¬
lar. Any piece of them can be mapped
to any piece of the screen buffer as re¬
quired. This technique permits wind¬
ows for help frames, menus, and so on
JUNE 1986
99
INSTANT SCREENS
to be overlaid easily onto another
image. Writing a set of library functions
that handles all of the needed opera¬
tions, such as writing characters, attri¬
butes, and strings, and scrolling regions,
is a relatively easy job.
Once the screen buffer has all of
its characters and attributes in the right
places, the task of getting the data to
the visual display is handled by cpblk.
Because the screen buffer is copied
directly to the part of display memory
being viewed, the user sees the screen
being updated, albeit very quickly. If
the contents of the before and after
images vary only in small areas, detect¬
ing an update is difficult.
If, however, massive image changes
occur, such as switching background
colors, the user can detect the update.
For some purposes, the visible updating
of screen displays is desirable because
it may reassure the user that the pro¬
gram is working. For a program that is
meant to produce smooth animation
effects, this is not sufficient.
A DEMONSTRATION
Listing 2 is the C source code for a test
driver program called ST (for screen
test). The #ifdefs are provided for
Computer Innovations C 2.3A, Microsoft
C 3-0, and Lattice C 3.0G. Other C
compilers may require different code to
obtain the data segment register value
needed for the block transfer. ST
dynamically creates five screen buffers
in main memory and loads them with
known values. The character used for
each of the screen buffers (0 through 4)
is its number. Differing color attributes
show the effect of massive color and
intensity changes.
The wait_ch function (listing 3)
calls DOS function 8H, which returns
the next available character in the key¬
board buffer. The function waits for a
key to be pressed if nothing is ready. If
the returned value from the DOS call is
a null byte, wait_ch reads another,
which is the value of an extended code
from the keyboard. The driver program
displays a help message for any key
pressed except 0-4, Esc (the quit
command), and Ctrl-Break (abort).
The driver program is using a trick
to produce the appearance of instant
screen displays. About one-tenth of a
second is required to copy a screen
buffer in the application data space to
the display adapter using cpblk. Al¬
though this is fast in comparison to
other methods that also curb video in¬
terference, it is still far from instanta¬
neous. The trick is called page flipping ,
a method made possible by the fact that
In this two-layer approach, any piece of the application buffer can be written to
any piece of the screen buffer before being transferred into the display memory.
The display adapter is capable of storing four complete screens of text. The moni¬
tor displays the visual page as the active page is being updated. Then the visual
page and the active page are swapped creating an instant screen change.
the CGA has enough display memory to
hold multiple screen pages simulta¬
neously (see figure 4).
Page flipping depends on having a
means of telling the display system to
view one page of display memory while
the application is writing to another.
The ROM BIOS video interrupt has a
function (3) that sets the visual page.
User should ignore the IBM Technical
Reference statement that the function
sets the active page. To be consistent
with the way BASIC describes video
pages, the active page should be the
one being written, and the visual page
should be the one being viewed. Fre¬
quently, they are the same page.
Notice that the fprintf standard
library function writes to standard er¬
ror, which appears on the visual page.
Cpblk, however, is directed to write to
the active page, which is effectively hid¬
den from view. When the active page
has been fully written, it is revealed to
the user by flipping the pages. The
function swap_pg exchanges the values
of the Apage and Vpage variables, then
calls setpage (listing 4) to switch to the
new visual page. The effect is an instant
update from the user’s perspective. A
short delay takes place while the active
page is being updated before the page
swap, but the user will not be able to
detect it: the screen is repainted in
100
PC TECH JOURNAL
Macro Assembler
The quickest Bar none*
Our Macro Assembler has long been the
most complete package on the market. Now
it’s also the fastest. Three times faster than
before. And faster than anyone else. Period.
Of course, it’s still the most powerful assem¬
bler on the market. It supports the standard
8086/8087 opcodes. And the new 186/286/
287 instruction set. So you can make the
most of the new machines.
Debugging is quicker, too. Thanks to our
interactive symbolic debugger, SYMDEB.
Now you can refer to variables and source
code instead of getting lost in hex dumps.
And this debugger also works with Microsoft
languages like C, FORTRAN and Pascal. So
now you can set breakpoints and trace exe¬
cution-using source code for reference.
18:
11: 18
12 :
13:
14:
15: m
H:
17:
kp .14 V
14: PR1HF
1AEF:8869 AH248
m.mc 83C8
1AEF:*KE 48
immf mm
H: COUNT
16FF a872 FF866848
17: K : l
mi
m\h Ml (i)
00 18 I 1,8191
FLAGS!I) ■ TRUE-
DO 91 11,8191
IF(.NOT. FIAGS(D) GO TO 91
P81NF MM
F0RNATUX.I6)
COUNT COUNT * 1
K I ♦ PRINT
INC
NOU
COUNT ♦ 1
INC
♦ PR1NF
AX,(48621
AX, AX
AX
148641,AX
UdH Ptr (4868)
Cut your development time dramatically. Microsoft Macro Assemblers
Symbolic Debug utility lets you debug your Macro Assembler programs , or
debug your Microsoft C, FORTRAN or Pascal programs using your original
source code or the resulting disassembly. For example, you can set break¬
points on line numbers and observe the contents'of variables or expressions.
SYMDEB is just part of our complete set
of utilities. Tools that make programming as
fast as it should be. There are the linker and
library managers you’d expect. Plus a new
version of MAKE, our maintenance utility,
with improvements like macro expansions
and inference rules.
We’ve also revised the manuals. Our new
Macro Assembler has a lot to offer, so we
added more examples. Now our manuals are
not only thorough, they’re clearer than ever
before.
For quick development and assembly, the
choice is obvious. Microsoft. There’s nobody
faster.
Microsoft® Macro Assembler Version 4*0 for MS-DOS 3
Macro Assembler
♦ Fastest macro assembler for MS-DOS computers.
♦Supports the 8086/8087/8088 and the 186/286/287.
♦ Define macros.
♦ Conditional assembly.
♦ Optional case sensitivity for symbols.
♦ 100% upward compatibility from earlier versions of both the
Microsoft and IBM® Macro Assemblers.
Interactive Symbolic Debug Utility
♦ Source level debugger for programs written in Microsoft
Macro Assembler, C Compiler, FORTRAN, and Pascal.
♦ Screen swapping helps debug highly visual applications.
♦ Set breakpoints on line numbers and symbols.
♦ Single step to follow program execution.
♦ Disassemble object code.
♦ Display and modify values.
♦ Full I/O redirection.
Program Maintenance Utility
♦ Rebuilds your applications after your source files have
changed.
♦ Similar to UNIX™ MAKE utility.
♦ Supports macro definitions and inference rules.
Library Manager
♦ Create, organize and maintain your object module libraries
created with Microsoft languages.
♦ Set page size from 16 to 32678, to create compact and
granular libraries.
Object Code Linker
♦ Simple overlaying linker combines relocatable object
modules created using Microsoft languages into a single
program.
♦ Load Map generation.
♦ Specify from 1 to 1024 segments.
Cross-Reference Utility
♦ Creates a cross-reference listing of the definitions and
locations of all symbols used in an assembly language
program, which makes debugging programs easier.
Microsoft EXE File Compression Utility
♦ Packs EXE files for smaller size on disk and faster loading
at execution time.
Microsoft EXE File Header Utility
♦ Display and modify EXE file header, allowing you to tune
the stack size and initial memory allocation.
For the name of your nearest Microsoft
dealer call (800) 426-9400. In Washington
State and Alaska, call (206) 882-8088. In
Canada, call (416) 673-7638.
Microsoft.
The High Performance Software™
Microsoft and MS-DOS are registered trademarks and The High Performance Software is a
trademark of Microsoft Corporation. IBM is a registered trademark of
International Business Machines Corporation. UNIX is a trademark of AT&T Bell Laboratories.
INSTANT SCREENS
one-sixtieth of a second, far faster than
the human eye can follow.
The special precautions taken by
cpblk are not needed when a mono¬
chrome adapter and display are being
used. Therefore, the driver program,
ST, checks for mode 7 and uses a stan¬
dard block-copy routine that invokes
the string copy feature of the 8086/88
processor. A string copy of 4KB is done
very quickly. No flicker is visible, and
no apparent delay occurs when this
approach is used.
Some IBM-compatible microcom¬
puters such as those from Compaq and
AT&T have display adapters that have
no problems with CPU/raster scan con¬
tention. An option on the invocation
command line for ST permits a single
argument (anything will do) to be given
to turn off the use of the special copy
feature. The command st x tells the
program to use a standard block-copy
routine instead of the special one. If
this option is selected on a system with
a standard CGA, visible interference is
quite noticeable, especially if the user
were to hold down a command key
(0-4) to write the same screen buffer
repeatedly to the display.
The getdtype function (listing 5)
uses the ROM BIOS video interrupt to
obtain the current video mode. If
CI__C86 is defined in the source file or
in a command-line option, the C86
sysint DOS interface function is used.
Otherwise, the int86 interface function,
supported by both Microsoft and Lattice,
obtains the needed value.
ST takes the easy way out of a
minor dilemma. If a mode of 2, 3, or 7
is returned, the program runs to com¬
pletion. If any other mode is returned,
ST calls the err_exit function (listing
6), which displays an error message and
returns control to DOS. A more elegant
design might save the mode returned
by getdtype, then switch to an appro¬
priate mode for the duration of the pro¬
gram, and restore the saved mode upon
completion. The problem is in knowing
which mode to switch to.
Because the Computer Innovations
C86 compiler does not recognize the
void type specifier, a typedef is used to
alias references to void to type int. Be¬
cause no return of either control or a
value from an error-exit operation is
expected, the conditional compilation
route was chosen over using a return
type of int from the exit function.
To create the ST program using
Microsoft C 3.0 or Lattice C 3 0, the pro¬
grammer should first be sure that the
files ST.C, SETPAGE.C, GETDTYPE.C,
and ERR_EXIT.C define C_C86 to be 0.
Also, the CPBLK.ASM source file must
be edited to uncomment the equate for
the selected C compiler and comment
out the other two equates.
A modest amount of automation is
demonstrated here. The MAKE program
supplied with the Microsoft Macro
Assembler was used to control the de¬
velopment and maintenance of the
source files for the screen test program.
The make-description file ST is used by
MAKE to compile the C and assembly
language source files for which no tar¬
gets exist and for those targets that are
out of date with respect to their com¬
panion source files. The version of ST
shown in listing 7 is specifically for the
Microsoft compiler and is invoked by
the command make st. The compilation
and assembly steps produce Microsoft-
compatible object files. A macro
assembler must be used to assemble
cpblk because of the conditional assem¬
bly language directives within the
source file. Both Lattice C and Com¬
puter Innovations C86 require that
header files be included, so the files
T be routine described here
is inherently less portable
than the DOS/BIOS calls,
and should be used only for
speed and effect.
must be placed where the assembler
can find them. Microsoft MASM 3 01 was
used for the assembly step.
The MAKE file for ST is written for
the MAKE program that does not under¬
stand inference rules. Newer versions of
MAKE (reportedly, those in MASM 4.0)
do permit the use of inference rules
and macros, which means the descrip¬
tion file can be greatly simplified. Note
the /ml and /mx switches in the masm
command. These cause the assembler
to be case sensitive for internal and ex¬
ternal names, respectively. The /noi in
the link command instructs the linker
not to ignore case. For Microsoft C
these switch settings are necessary, and
for Lattice C they must be deleted from
the description file.
The compilers used for this article
accept directives to search for header
files and object libraries in specified
directories. A hard disk is assumed in
the presentation of the program prepa¬
ration steps. The ST file may need edit¬
ing for configurations different from
those used here. The programs were
developed and tested on a PC/XT, a
PC/AT, and a PC6300, each with a 20MB
hard disk and running various color
and monochrome display systems.
Compiling, assembling, and linking
for Computer Innovations C compiler
follows the same pattern as just
described above. The programmer must
be sure to edit the source files in order
to set the necessary definitions and
equates. Lattice C uses a start-up object
file called C.OBJ, which must be the
first file in the object list supplied to
the linker. In addition, it requires a
DOS.MAC include file that is selected
for the memory model being used.
CONSIDERATIONS
Because it takes a tenth of a second to
copy data from a screen buffer to dis¬
play memory, programs should not try
to write one character at a time from
the keyboard. This would result in a
maximum update rate of six characters
per second. JEven a slow typist would
get ahead of such a program.
A better way to handle this situa¬
tion is to use routines based on the
BIOS and DOS interrupts to update the
visual display page (they do so without
causing interference) and use a separate
routine to update the in-memory buffer
so that it will reflect what is being
displayed. The instant-screen routines
should be saved for making large
changes to the screen appearance.
Other screen-update routines can
be written based on the one described
in this article. For example, a routine
that copies a single line or a small
range of lines or one that copies a
small rectangular region from a screen
buffer to display memory would be use¬
ful in doing selective screen updates
with even shorter delays.
The routine described here is in¬
herently less portable than the DOS/
BIOS calls, and thus should be used
only when necessary for speed and ef¬
fect. The use of a manifest constant that
holds the display memory segment is
deliberate. Changing the value for ma¬
chines that tuck display memory away
in some nonstandard place is a simple
matter. Program logic that determines
what equipment is hosting the program,
permitting runtime adjustments to be
made, can provide a means of regaining
some of the lost portability. t" 11 —I
Augie Hansen, formerly on the technical staff
of AT&T Information Systems, now owns
Omniware, a software development and
training company.
102
PC TECH JOURNAL
LISTING 1: CPBLK.ASM
• ★***★★ CPBLK ***********************************************************
#
; Copy a screen buffer to display memory without visual "noise"
; (C) 1982,1986 Omniware
9
; Usage:
; cpblk(src_os, src_seg, dest_os, dest_seg);
; unsigned src_os, src_seg, sest_os, dest_seg;
9
; Notes:
; 1. Uses calling conventions Computer Innovations C86, Lattice,
; and Microsoft C compilers selected by an equate.
; 2. Provides the copy function solely for the c/g adapter. Test
; for the required hardware before calling this function.
; 3. The segments and offsets given in the calling program
; determine whether this function does a screen save or a
; screen update operation.
.A***********************************************************************
I
compiler compatibility (use one of CI_C86, LATTICE, or MICROSOFT) -*
;CI_C86 equ 1 ; Computer Innovations, C86 version 2.30A
/LATTICE equ 1 ; Lattice, version 3.00G
MICROSOFT equ 1 ; Microsoft, version 3.00
ifdef CI_C86
include model.h
include prologue.h
else
Sab
equ 4
; small model only
endif
ifdef
LATTICE
include
dos.mac
endi f
al
equ
Sab
a2
equ
Sab+4
9
video status information .
VSTAT
equ
3dah
; video (CRT) status register
HRTRCE
equ
1
; horizontal retrace bit mask
VRTRCE
equ
8
; vertical retrace bit mask
;*■ block data
(these values result in 8 extra bytes being copied) --
BLKCNT
equ
6
; no. of buffer blocks to copy
WRDCNT1
equ
240
; no. of words to copy during ver. retrace
WRDCNT2
equ
94
; no. of words to copy during raster scan
BYTECNT
equ
2 * WRDCNT2
; no. of bytes to copy during raster scan
i fdef
LATTICE
pseg
endif
ifdef MICROSOFT
assume
cs:_TEXT
.TEXT
segment byte public
‘CODE*
public
_cpblk
_cpblk
proc
near
else
public
cpblk
cpblk
proc
near
endif
9
save registers and flags .
push
bp
mov
bp,sp
push
di
; di and si saved because new C compilers
push
si
; use them for register variables
push
ds
push
es
pushf
9
get the source
address .
mov
si,a1[bp]
mov
bx,si
mov
cl,4
; shift to extract segment
shr
bx,cl
add
bx,a1+2[bp]
; normalized source segment
;.get the destination address.
mov di,a2[bp]
mov dx,di
mov
cl,4
shift to extract segment
shr
dx,cl
add
dx,a2+2Ibp] ;
normalized destination segment
mov
ax,0fh
and
si,ax ;
source pointer
and
di,ax ;
destination pointer
cld
#
set up for auto increment
mov
ds,bx ;
source segment
mov
es,dx ;
destination segment
mov
ah,BLKCNT ;
number of blocks to move
• - - - -
9
9
- - COPY A BLOCK.
....
; The
buffer is copied to the display memory in blocks. Each block
; is
copied in two parts.
First, a chunk of words (character and
; attribute) is copied during the vertical retrace period and then
; individual words are copied during the horizontal retrace periods
; of
the normal screen update period. The display is not blanked.
9
copy_block:
9
- copy character/attribute words during vertical retrace .
mov
cx,WRDCNTl
; number of words to copy
mov
dx,VSTAT
; c/g adapter status register
wait_vert_refresh:
in
al,dx
; read status
test
al,VRTRCE
; test vertical retrace bit
jnz
waitvertrefresh
; loop until in a refresh period
wait vert retrace:
in
al,dx
; read status
test
al,VRTRCE
; test vertical retrace bit
jz
wait_vert_retrace
; loop until retrace starts
rep
movsw
; move a block of char/attr words
9
•* copy single bytes during horizontal retrace periods .
mov
cx,BYTECNT
; number of bytes to copy
cmp
cx,0
; anything to copy?
jz
short bypasshoriz
; no -bypass horiz. period updates
mov
dx,VSTAT
; read c/g adapter status register
wait_horizjrefresh:
in
al,dx
test
al,HRTRCE
; test horizontal retrace bit
jnz
wait_horizref resh
; loop until not in a retrace period
cli
; can't tolerate an interrupt here
wait_horizjretrace:
in
al,dx
test
al,HRTRCE
; test horizontal retrace bit
jz
wait_horizretrace
; loop until retrace starts
movsb
; copy a byte
sti
; interrupts OK now
loop
wait_horiz_ref resh
bypass_horiz:
9
* see if all rows have been copied .
dec
ah
; reduce the block count
cmp
ah,0
; done?
jnz
short copy_block
; no - do it again
9
- clean up and return to caller .
popf
; yes - restore flags...
pop
es
; ...and the registers
pop
ds
pop
si
pop
di
pop
bp
ret
ifdef MICROSOFT
_cpblk endp
_TEXT ends
else
cpblk endp
endif
JUNE 1986
103
INSTANT SCREENS
ifdef LATTICE
endps
endif
ifdef CI_C86
include epilogue.h
endif
end
LISTING 2:
ST.C
/************************************************************************
* st -- screen test using cpblk function
*
* Author: Augie Hansen
* Written: 09/10/84
*
* Copies buffer contents into the c/g adapter's display memory
* while eliminating "snow" by writing only during retrace periods.
* Writes to on undisplayed page (active) and then flips the active
* and visual pages to obtain a truely instant update.
*
* --- Revision record ---
* 02/12/86: Added page-flipping feature for instant screens and
* code to determine the display system type in use.
* 03/20/86: Revised for use with Microsoft C, Version 3.00 and
* Lattice C, Version 3.00G
************************************************************************/
/* set the following
define to 1 for Cl C86; 0 otherwise */
#define CI_C86 0
#include <stdio.h>
^include <dos.h>
#define ASCII
0x7F
#define ATTR
0x17
#define CG_SEG
OxB800
^define CGA_C80
3
#define CGA_M80
2
#define MONO
7
#define MONO_SEG
OxBOOO
#define PAGESIZ
0x1000
#define PG0_OS
0
#define PG1_0S
PG0_OS + PAGESIZ
#define ESC
27
#if CIC86
^define MOVEIT(a, b.
c, d, e) movblock(a, b, c, d, e);
typedef int void;
#else
#define MOVEIT(a, b,
c, d, e) movedata(b, a, d, c, e);
#endif
int Apage, Vpage;
/* active and visual display pages */
main(argc, argv)
int argc;
char *argv[];
r
\
int ca;
/* character/attribute pair */
int *cap;
/* char/attr pointer */
int ch;
/* user command character */
unsigned dseg;
/* destination buffer segment */
int dtype;
/* display system type */
int os;
/* page offset in bytes */
int *sbuf[5] ;
/* array of screen buffer pointers */
int sn;
/* screen number */
int special = 1;
/* use special copy routine */
unsigned src;
/* source buffer */
unsigned sseg;
/* source segment */
/* segment register values */
#if CI_C86
struct segregs sr;
#else
struct SREGS sr;
#endif
void err exitO;
/* error handler */
char *malloc();
/* memory allocator */
void movedataO; /* intersegment block copy V
void segreadO; /* get segment reg values */
void swap pgO; /* swap display pages */
static char pgm[] = { "st" }; /* program name */
/* initialize destination segment */
if ((dtype = getdtypeO) == CGA_C80 | j dtype == CGA_M8G)
dseg = CG_SEG;
else if (dtype == MONO) <
dseg = MONO_SEG;
special = 0;
> else
err_exit(pgm, “requires 80-column text mode", 1);
/* process command line */
if (argc > 2)
err_exit(pgm, "usage -- st [x]", 2);
else if (argc == 2)
special = 0; /* bypass special block move */
/* get data segment value */
segread(Ssr);
#if CI_C86
sseg = sr.sds;
#else
sseg = sr.ds;
#endif
/* set up "active" and "visual" display pages */
Apage =1; /* page being written to */
Vpage * 0; /* page being viewed */
y
/* create the demonstration screen buffers in memory */
for (sn = 0; sn < 5; ++sn) {
/* form the fill character/attribute pair */
switch (sn) <
case 0:
ca
=
0x1730;
break;
/*
'O',
wht on blu */
case
1:
ca
s
0x0631;
break;
/*
‘1»,
brn on blk */
case
2:
ca
=
0x6E32;
break;
/*
•2*.
yel on brn */
case
3:
ca
=
0x2033;
break;
/*
'3',
blk on grn */
case
4:
ca
=
0x4734;
break;
/*
•4',
wht on red */
>
/* allocate a screen buffer */
if ((sbuftsn] = (int *) malloc(PAGESIZ)) == (int *) NULL)
err_exit(pgm f "out of memory", 3);
/* fill the buffer */
cap * sbuftsn];
while (cap < sbuftsn] + (PAGESIZ » 1))
*cap++ = ca;
>
/* display buffers on user's command */
fprintf(stderr, "\n 0-4 for screen buffers, Esc=exit \n");
while ((ch = wait_ch()) !* ESC) <
if (ch >= *0' && ch <= '4' ) {
if (dtype == MONO)
os = 0;
else
os = (Apage == 0) ? PG0_OS : PG1_0S;
src = (unsigned) sbuftch - 0x30];
if (special)
cpblk(src, sseg, os, dseg);
else
MOVEIT(src, sseg, os, dseg, PAGESIZ);
if (dtype != MONO)
swap_pg();
> else
fprintf(stderr, " 0-4 for screen buffers, Esc=exit \n");
>
/* restore normal visual page and return to DOS */
setpage(O);
exit(0);
> /* end main() */
/*
* swap pg -- exchange the global "active" and "visual" page
* values and switch to the new visual page
*/
104
PC TECH JOURNAL
A structuredprogramming language
you’ll really feel comfortable with.
Suggested retail price $149.90
Educational site licenses available from
Addison-Wesley Publishing.
True BASIC] Language System is a trademarkotTrue Basic, Inc.
Macintosh is a trademark of Apple Computer Corp.
Amiga is a trademark of Commodore Business Machines.
IBM is a trademark of International Business Machines Corp.
You know John Kemeny and Tom Kurtz. They
developed the original BASIC. Now they’re
back with an even better version: a flexible,
easy-to-use structured programming language
they call True BASIC.™
True BASIC offers a full selection of control
structures. External procedures can be
compiled into libraries, making True BASIC
faster and more powerful than any other
programming language.
True BASIC has a complete matrix algebra
package and die best graphics ever in a higher
level language. And diere are optional libraries
for things like sorting and searching and 3-D
graphics.
True BASIC programs run on any computer
which runs True BASIC, good news for users
with more than one kind of PC.
You’ll love True BASIC. Whedier you’re
programming for your own applications,
teaching others, or developing products to go
to market, send in the coupon below to receive
a free demo disk.
CIRCLE NO. 191 ON READER SERVICE CARD
Available for the IBM-PC™ and compatibles,
Apple Macintosh,™ and Commodore Amigcti
To order, talk to your local
dealer or call (603)
643-3882 TODAY!
ffisic
m
39 South Main Street,
Hanover,NH 03755 (603)643-3882
My computer is: □ IBM-PC/compatible
□ Apple Macintosh
□ Commodore Amiga
□ I’D LIKE TO GET MY FREE DEMO DISK.
□ I’d like more information on the True BASIC
language products.
□ Fm ready to buy. Call me and tell me how.
□ I’d like information on True BASIC
Mathematics Series and other products.
Name_
Title_
Company/University_
Address_i_
City, State, ZIP___
Telephone____
INSTANT SCREENS
void swap_pg()
i
int tmp;
/* exchange the page values */
tmp = Apage;
Apage = Vpage;
Vpage = tmp;
/* switch to the new visual page */
setpage(Vpage);
> /* end swap_pg<) */
LISTING 3: WAIT_CH.C
* waitch -- Get next character from keybd buffer.
*
* If none is ready, the function waits for an input before returning
* to the caller. If the input is non-null, it is returned as a 7-bit
* ASCII code. If it is null, the next character is read and returned
* as an 8-bit code with the MSB set to indicate an extended scan code.
* Responds to Ctrl-Break input.
*
************************************************************************j
#include <stdio.h>
#define ASCII
#define HIBIT
#define KEY IN CB
0x7F
0x80
8
int wait_ch()
<
int ch;
if ((ch = bdos(KEYIN_CB) & ASCII) == '\0•)
ch = bdos(KEYIN_CB) j HIBIT;
return (ch);
> /* end wait_ch() */
LISTING 4: SETPAGE.C
/*
* setpage -- select "visual" screen page. Don't believe what you
* read in the IBM Tech Ref -- this is definitely not the "active"
* display page (where active and visual definitions are those used
* in the Microsoft/IBM BASIC SCREEN statement).
*/
/* set following define to 1 for Cl C86; 0 otherwise */
#define CI_C86 0
#include <dos.h>
#define VIDEOJO 0x10
#define SET_PAGE 5
int setpage(pg)
int pg; /* visual screen page */
C
#if CI_C86
unsigned char vec = VIDEO_IO;
struct regval {
int ax, bx, cx, dx, si, di, ds, es;
> srv, rrv;
srv.ax = (SET_PAGE « 8) J pg;
return (sysint(vec, &srv, &rrv));
#else
int intno = VIDEO_IO;
union REGS inregs, outregs;
inregs.h.ah = SET_PAGE;
inregs.h.al = pg;
return (int86(intno, Sinregs, &outregs));
#er»dif
> /* end setpageO */
FORECASTING AND STATISTICAL ANAIYSIS
StatPac"
the proven statistical analysis package
The standard for business and industry
for over six years. Comprehensive and
easy to use. StatPac is a full-featured
statistical package for professional
researchers.
StatPac Gold'
our top-of-the-line statistics package
An enhanced version of StatPac
featuring windows, graphics, and
command programming language.
StatPac Gold is the most advanced
statistical package available.
Call for complete
information:
1-800-328-4907
Forecast Plus™
a time-series analysis forecasting tool
A combination of data management,
exploratory graphics, and over a dozen
forecasting techniques, make Forecast
Plus the most powerful time-series
package available. It works fast,
accurately and automatically.
Goodness-of-Fit ™
a regression package for
model building
A full-featured regression package for
professional researchers. Command
driven with versatile programming
language.
WALONICK ASSOCIATES
6500 Nicollet Ave. S., Minneapolis, MN 55423
(612) 866-9022
106
CIRCLE NO. 188 ON READER SERVICE CARD
PC TECH JOURNAL
LISTING 5: GETDTYPE.C
/*
* getdtype -- retrieve the screen mode value
V
/* set following define to 1 for Cl C86; 0 otherwise */
#define CI_C86 0
finelude <dos.h>
#def ine VIDEOJO 0x10
#define GET_STATE 15
#define LOBYTE OxFF
int getdtypeO
i
#if CI_C86
unsigned char vec = VIDE0_I0;
struct regval l
int ax, bx, cx, dx, si, di, ds, es;
> srv, rrv;
srv.ax = GET_STATE « 8;
sysint(vec, &srv, &rrv);
return (rrv.ax & LOBYTE);
#else
int intno = VIDEOJO;
union REGS inregs, outregs;
inregs.h.ah = GET_STATE;
int86(intno, &inregs, &outregs);
return (outregs.h.al);
#endif
> /* end getdtypeO */
LISTING 6: ERR_EXIT.C
/*
* err_exit -- issue a diagnostic message and terminate
*/
/* set following define to 1 „for Cl C86; 0 otherwise */
#define CIC86 0
^include <stdio.h>
#if CI_C86
typedef int void;
#endif
void err_exit(pname, msg, level)
char *pname, *msg;
unsigned int level;
i
fprintf(stderr, “Xs: %s\n", pname, msg);
exit(level);
> /* end err exitO */
LISTING 7: ST
# makefile for ScreenTest (st) program
st.obj: st.c
msc st;
cpblk.obj: cpblk.asm
masm cpblk /ml /mx;
errexit.obj: errexit.c
msc err_exit;
getdtype.obj: getdtype.c
msc getdtype;
setpage.obj: setpage.c
msc setpage;
wait_ch.obj: wait_ch.c
msc wait_ch;
st.exe: st.obj cpblk.obj err_exit.obj getdtype.obj \
setpage.obj wait_ch.obj
link st err_ex?t getdtype setpage wait_ch cpblk /noi, st,,;
CREATE SOPHISTICATED SCREENS & ACCELERATE PROGRAM DEVELOPMENT WITH...
screen
FEATURING:
The Panel Definition Facility
• full screen painting in monochrome & color
• use any ASCII character for lines and borders
• quick & simple field definition
• easy allocation of cursor & control keys
• numerous, friendly help screens
The Panel Management Facility
• store panels in memory resident file
• easy copy, rename & delete
• print panel formats for documentation
The Panel Control Facility
• full control of panels at runtime
• fast & efficient screen I/O
• multiple panels on any screen
• dynamically change panel characteristics
• pop-up menus & help panels
Easy To Use. . .Yet Powerful & Efficient
™ Screen
Management
System
Flexus International Corporation
P.O. Box 9119
Morristown, NJ 07960
(201) 895-4724
Screenplay Supports The Following Languages:
Please Check Box For Required Version
□ Turbo Pascal .$100.00
□ IBM/Microsoft Assembler .$100.00
□ DeSmetC .$125.00
□ Lattice C .$150.00
□ IBM/Microsoft COBOL .$175.00
□ Realia COBOL .$175.00
New Jersey Residents Add 6% Sales Tax
Shipping & Handling $5.00
Total Amount Enclosed $ _
□ Check □ Money Order □ kT>r^ |
. Exp. Date.
Signature _
□ Please send more information on screenplay
Name_ Title_
Company__
Address.
\ City/State/Zip _
WmJ>
107
JUNE 1986
CIRCLE NO. 137 ON READER SERVICE CARD
The personal computer that
continues to raise
high performance to new heights.
If you work with high volumes of
information, you need answers fast.
Which is why IBM created the Personal
Computer AT.® The PC designed to push
high performance even higher.
The power of
Advanced Technology.
Turn on the power, and you’ll notice the
advances right away.
To begin with, the Personal Computer AT
can compute with astonishing speed. That’s
something you’ll appreciate every time you
recalculate a spreadsheet. Or search
through a data base.
It can store mountains of information—
up to 15,000 pages’ worth—with a 30-
megabyte “hard file” (fixed disk). And
when business gets bigger, you can double
your capacity to 60MB with a secbnd hard
file.
Advanced Technology
advances again.
Fast as it is, new models of the Personal
Computer AT run up to 33% faster.
Plus, you can now select an enhanced
keyboard. It has separate cursor keys, a
separate numeric keypad (for easier data
entry) and twelve function keys. It also has a
main typing section patterned after the classic
IBM Selectric® keyboard, which makes word
processing easier than ever.
In addition, you can also choose a new
option that lets you use 3.5-inch diskettes
with your Personal Computer AT.
Family ties.
The Personal Computer AT is compatible
with the IBM PC and PC/XT. So it can run
many of the thousands of programs written
for the IBM PC family.
And with new IBM products, the Personal
Computer AT can more easily communicate
with other PCs.
IBM’s networking options, for example,
let you share files from a variety of popular
programs.
While the IBM PC 3270 Emulation pro¬
grams let you retrieve information from a
mainframe.
You can also use the Personal Computer
AT to run IBM PC XENIX® —an enhanced
multi-user, multi-tasking operating system.
A powerful value.
Only the Personal computer AT offers
these capabilities and IBM’s commitment to
quality, service and support. A combination
that can’t be cloned.
Better still, you’ll find that the new
models offer higher performance without a
higher price. And if you qualify, you can
conveniently charge your Personal Computer
AT on IBM’s Credit Card. Or lease one with
the IBM Commercial Lease Agreement.
See the Personal Computer AT at an
Authorized IBM PC Dealer. Or call your
IBM marketing representative.
For the name of a store near you, call
1-800-447-4700. In Alaska, call 1-800-
447-0890.
The IBM Personal Computer AT,
for Advanced Technology.
sed bv Bubbles Inc., s.a. J
Little Tramp character licensed by Bubbles Inc., s.a.
IBM, PC/XT and Personal Computer AT are trademarks of International Business Machines Corporation.
XENIX® is a registered trademark of Microsoft Corporation. Based on System V.
CIRCLE NO. 248 ON READER SERVICE CARD
©Copyright IBM Corporation 1986
An equation-solving program with built
functions and a textbook-style interface
automates mathematical modeling.
VICTOR E. WRIGHT
this article. (Also see “TKlSolver
Equates/' Victor E. Wright, PC Tech
Journal , September 1985, p. 137).
Mathematical models are based on
relations— equations, conditions, con¬
straints, and functions. By contrast, tra¬
ditional computer algorithms are based
on much lower level constructs. Even
the statements of a program written in a
high-level language, such its FORTRAN,
C, or PL1, are low level in comparison
to the relations expressed by the equa¬
tions these programs solve.
An equation-solving program
accepts equations in essentially text¬
book format, with a few concessions to
facilitate the task of parsing. The pro¬
gram “knows” nothing of particle phys¬
ics, pricing theory', Reynolds numbers,
or cantilever beams. What it does know'
is how to solve equations —tnie equa¬
tions with an arbitrary number of vari¬
ables on each side of the equal sign
and, in some cases, systems of simulta¬
neous equations. This kind of program
is an example of a constraint language;
hH he computer spreadsheet, widely
I used in the personal and business
A. worlds, is too limited for most
scientific, engineering, and business
•applications. In some situations, a sys¬
tem or process must be modeled with a
set of mathematical relations. Often, the
user (or perhaps more appropriately,
the modeler) is not interested in creat¬
ing a computer program to implement
the model, nor is it worthwhile for him
to transform an existing mathematical
model into the methods that could be
used in a spreadsheet. What the mod¬
eler needs is a tool that recognizes
mathematical equations and associated
data and that solves the equations.
Equation-solving programs are not
new. Classical methods of solving sets
of simultaneous equations have been
implemented in several languages. The
program considered here, Formula/
One, from Alloy Computer Products,
Inc, is an equation solver patterned af¬
ter the pioneer in this held, TKISolver.
A sidebar comparing the two follows
Sybil is an Advanced Diagnostics disk...
She can low format hard disks just like
Advanced Diagnostics (IBM, Compaq, etc.) and
she can do system and memory tests which
provide even more information than Advanced
Diagnostics does. $245.00 cheaper than IBM's
Advanced Diagnostics!
Sybil is a Disaster Recovery program...
She can recover hard disks that have been ac¬
cidentally formatted, completely! The hard disk
reappears in exactly the same condition prior
to the format. Truly amazing!
Sybil is a Graphics Editor...
She can draw on either RGB monitors (in color)
or IBM Monochrome monitors in high ASCII
characters. Perfect for creating Binary Image
Files. The Binary Image Files can be converted
to Assembly and then linked to other lan¬
guages, such as your favorite Pascal, C, or com¬
piled BASIC program. Includes source code.
FORMULA/ONE
When first invoked, Formula/One displays a two-sheet
format: equation and variable. Here, the modeler has entered
two equations and Formula/One has listed the variables.
Above, the modeler specifies values for the constants in the
equations shown in photo 1. An “I” in the status field of the
variable sheet indicates values that have been input.
Sybil is a File Wizard...
Sybil can backup files by date, by time, or by
size. She can find any file (or files) anywhere on
your hard or floppy disks, even if you haven't
the vaguest notion. She can edit file attributes
with the greatest of ease, unerase files, edit
sectors, and globally change time and date
stamps. All her file utilities understand paths
and wildcards.
Sybil is also a...
ram Disk, Print Spooler, General Regular
Expression Parser and, Advanced File
Comparator.
Order Sybil Today!
Call 800-922-3001, in Colorado,
303-444-1542
SOPHCO
PO Box 7430
Boulder, Colorado 80306
CIRCLE NO. 176 ON READER SERVICE CARD
Formula/One solves for two unknowns in figure 1. The aster¬
isks in the equation sheet indicate that both equations were
solved; the Os on the variable sheet denote output values.
PC TECH JOURNAL
it relies upon the relations that describe
the problem and determine the solu¬
tion. The rules of an such a program
are the rules of a universally under¬
stood language: mathematics.
FAMILIAR INTERFACE
The Formula/One interface allows a
model to be defined in terms of mathe¬
matical equations in the same sense that
equations are presented in references
and textbooks. The modeler enters true
equations; the program accepts the
known values and assigns values to
unknown variables such that the condi¬
tions specified by the equations are
satisfied. A built-in solver of unspecified
methodology performs the work.
This equation solver uses the note¬
book and sheets paradigm: that is, a
Formula/One model is defined by a
number of relations, each of which is
summarized in a specific screen display
that is like a sheet in a scientist’s note¬
book. Formula/One is interactive—a
what-if tool. Once a model is defined, it
can be solved with many sets of input.
A model can be developed incremen¬
tally and solved at any stage.
When the program signs on, it asks
what type of monitor is being used.
Once this is resolved, the program dis¬
plays two windows into the model—the
equation sheet and the variable sheet.
These two sheets are required for even
the most minimal modeling. Photo 1
shows a typical configuration with two
equations entered. The equation sheet
(at top) contains the model’s equations;
variable names are listed automatically
on the variable sheet.
The equation sheet has two fields:
status and equation. The window can
display either seven rows when the
screen is split between the two sheets,
or seventeen rows when the screen is
toggled to a single-sheet display. The
remaining rows are devoted to borders
and field headings. A reverse video cur¬
sor appears in the first row of the equa¬
tion sheet in the initial display, indicat¬
ing that the equation will be entered
there. The cursor can be moved to any
row with the cursor arrow keys.
When a key is pressed, with the
cursor in the equation field of the equa¬
tion sheet, a reverse video bar appears
at the bottom of the screen. As the cur¬
rent equation is typed in, it appears in
the bar, not in the sheet itself. When
the equation is entered, by pressing the
Return key or an up or down arrow
key, it appears in the current row, and
the bar at the bottom disappears.
Formula/One checks the equations for
legal syntax as they are entered.
The variable sheet is comprised of
six fields: status, name, value, display
unit, calculation unit, and comments.
Like the equation sheet, the variable
sheet displays seven rows in a dual¬
sheet display and seventeen rows as a
single sheet. As equations are entered
in the equation sheet, the variable
names appear in the variable sheet
name field. Variable names are limited
to 16 characters, 12 of which can be
displayed in the name field.
The status field displays the type
and use of each variable: I(nput),
O(utput), G(uess), L(ist), I(nput) L(ist),
O(utput) L(ist), or S(tring). This range
of options enables Formula/One to use
a single column to indicate input and
output values.
The number of required input val¬
ues depends upon the number of inde¬
pendent equations, and the model can
have as many unknown variables as it
has independent simultaneous equa¬
tions. The entering of variable values is
similar to the entering of equations.
The cursor must be positioned in the
row of the current variable. (In the case
of a new model, the cursor first must
be moved from the equation sheet to
the variable sheet with the switch sheet
command—the ; key). As input values
are typed in, they first appear in the re¬
verse-video bar at the bottom of the
screen, then in the current row when
the data are entered. As the entry ap¬
pears in the proper row, the program
displays an I indicator in the status
field. Figure 1, which is a continuation
of the Formula/One session shown in
photo 1, demonstrates input.
Equations, variable names, and
input values are the essential elements
of a model. Once they are entered, the
model can be solved using the solve
command (the ! key) or by pressing F9.
As the program solves the model, it in¬
dicates the progress of the solution pro¬
cess on the bottom line of the screen.
When the solution is complete, the out¬
put values appear in the value field of
the variable sheet, with O indicators in
the status field of each output variable,
and an asterisk (*) appears in the status
field of the equation sheet for each
equation that was satisfied. In figure 2,
Formula/One has solved the equations
from figure 1.
UNITS
Units are a key element of any model. A
relation can be described in an abstract
sense; but without units, it cannot be
related to real-world phenomena. More¬
over, if units are not supplied, a model
cannot be considered truly solved.
Get a Grip
on Assembly
Language.
The award winning
Visible Computer:
8088.
The Visible Computer is a book and software
combination for mastering the elusive skills of
assembly language.
It’s an animated simulation of the PC’s
microprocessor that lets you see with your own
eyes how assembly language works. You’ll be
using it as a debugging tool for years to come.
It’s a tutorial. A lot of people think the 350
page manual is the best book on assembly
language ever written.
It’s 45 demonstration programs you’ll execute
with the simulator, from simple register loads
to advanced programs that manipulate
interrupts and perform file I/O.
• Applies to all 86 family processors, including
80186 and 80286.
• PC Tech Journal “Program of the Month. ”
$ 49 . 95 /
Copy Protected vS
$ 79.95
Unprotected
The Visible Computer for IBM PC/XT/AT and true
compatibles. If your dealer doesn’t have it, order direct:
Software Masters, 2714 Finfeather, Bryan, TX, 77801.
(409) 822-9490. Please include $3.00 shipping.
Bank cards accepted.
TVC takes you inside the
processor as it executes programs.
Software Masters ™
JUNE 1986
CIRCLE NO. 168 ON READER SERVICE CARD
113
FORMULA/ONE
Formula/One assumes that a model
is entered with a consistent set of units.
Even if a model is developed without
units, it can be solved and output values
will be displayed: if the equations that
form the model are consistent (incorpo¬
rating conversion factors and constants
as required), then the model will pro¬
duce correct answers, whether or not
units are assigned to variables.
The unit sheet holds the definition
of unit conversion factors. A unit con¬
version is defined by information in
four fields: from unit, to unit, multiply
by, and add offset. These fields permit a
linear transformation between any two
units of measurement. As many as 128
conversion factors can be defined.
Formula/One does not associate
the operations applied to variables with
corresponding operations to units, so it
cannot distinguish among suitable units.
For example, if an equation for area,
such as A = l * w, has the unit feet
assigned to / (length) and w (width)
and the unit inches 2 assigned to A, the
equation will be solved without com¬
ment, just as it would if A had been as¬
signed the more logical unit of feet 2 .
In fact, Formula/One does not
monitor the status of unit assignments
on a realtime basis. The variable sheet
includes two fields for units—calcula¬
tion and display—both of which accept
entries of arbitrary unit labels at any
time, whether or not they are currently
defined in the unit sheet. The program
apparently checks the unit sheet for
conversion factors only during the solu¬
tion process. If a display unit label is
changed, the corresponding value does
not change until the model is solved
again. When the model is solved, con¬
versions are made only as defined in
the unit sheet. If a conversion has not
been defined for a particular display/
calculation unit pair, the value is dis¬
played in calculation units. A conversion
must be defined for each pair—the pro¬
gram does not chain conversion factors.
The equation, variable, and unit
sheets provide enough horsepower to
solve many engineering problems. In
figure 3, Formula/One solves a stress
analysis problem (that is illustrated and
solved conventionally in the sidebar “A
Sample Problem” on page 123).
LISTS
A variable can be assigned a L(ist) status
when, for example, a single model must
be solved for several sets of input data,
or when a single model requires a
numerical solution in which each step
of the solution requires access to the
data of previous steps (see figure 4).
Lists are created from the variable
sheet, by entering L or IL in the status
field; they can contain numerical or
string values, but not both. The mod¬
eler reaches the list sheets that are
created by using the dive command (>)
from the variable sheet. String values
may be held only in lists that have an S
in the status field; if any other list indi¬
cator, or no indicator, appears, string
values cannot be entered.
Once a list has been created, it can
be filled with input values in two differ¬
ent ways. In the first method, the mod¬
eler enters individual values, one row at
a time, in any arbitrary sequence. The
second method uses the fill command
(/F). Values entered using fill are
spaced linearly by the program between
the first and last entries in the list, both
of which must be entered directly. For
example, if the modeler enters 1, then
four blank lines, then 6 as a list, and
presses /F, Formula/One will fill in the
list with 2 3 4 3, each on its own line
between those holding 1 and 6.
Each list sheet has a number-of-list-
elements field that must be set before
/F is entered, because the command
fills the entire list, not an arbitrary sub¬
range. Individual list sizes can be set up
in this way, or a default list size, up to
999 elements, can be set for all lists in a
THE BEST PC TEXT EDITOR JUST GOT BETTER.
ANNOUNCING SPF/PC™ 1.82
The best full screen editor for the IBM PC now extends support for large files to all PC’s, not just
the IBM/AT. Invoke your favorite program/compiler from within Edit at any time regardless of file
size. CTC’s SPF/PC tm 1.82 still looks like its mainframe cousin but executes faster with more options.
NEW FEATURES
• PAGING - Editing limited only
by capacity of expanded/extended
memory or hard disk.
• SPEED - Search 1,500,000 byte
file with IBM AT in less than
13 seconds. By comparison,
the IBM 3081 mainframe takes
48 seconds.
$195
UPGRADES only $50
ADD $6 shipping
Canada $10, Foreign $15
Payment in U.S. funds by
check or bank wire (Bank
of America, San Francisco
account 05583-05454).
Net 30 to D&B rated firms.
• Compatible with IBM and
Novell Networks
• Modifiable HEX display
• Line length to 954 bytes
Minimum Requirements:
DOS 2.00-3.10,192KB memory,
any IBM PC or true compatible
or n Professional.
Command Technology Corporation
1900 Mountain Boulevard
Oakland, California 94611
TO ORDER Telephone: (415) 339-3530
SPF/PC. Telex: 509330 COMMAND TECH
CIRCLE NO. 227 ON READER SERVICE CARD
.114
PC TECH JOURNAL
FIGURE 3: A Sample Solution
FIGURE 4: Using Formula/One Lists
=============================== Equation Sheet
St Equation
"Beer & Johnston, STATICS, page 131
"Weights=forces
Fload=Load*g
Fcrane=Mcrane*g
"Moments about B
•1.5*Ax-6*Fload-2*Fcrane=0
"Moments about A
1.5*Bx-6*Fload-2*Fcrane=0
"Sum of forces in X direction
Ax+Bx=0
"Sum of forces in Y direction
Ay+By-Fload-Fcrane=0
============================= variable Sheet ========:
St
Name
Value
Dsp Unit
Cal Unit Comments
I
Load
2400
kg
kg
I
9
9.81
m/s A 2
m/s A 2
0
Fload
23544
Newton
Newton
0
Fcrane
9810
Newton
Newton
I
Mcrane
1000
kg
kg
0
Ax
-107.256
kN
Newton
pinned connection
0
Bx
107.256
kN
Newton
rocker connection
0
Ay
33.354
kN
Newton
pinned connection
I
By
0
kN
Newton
rocker connection = 0
From Unit
To Unit
Multiply By
Add Offset
kN
Newton
1000
In figure 3, Formula/One solves a stress analysis problem
that is worked out conventionally in the sidebar “A Sample
Problem” (p. 123). In figure 4, the program processes a list
of values. If an object is dropped at time t = 0, the distance
5 it has traveled is given by S = ^ at 2 , where a is the accel¬
eration due to gravity. Formula/One finds S at t = 1 second,
t - 2 seconds, and so on, with a single solve command.
=============================== Equation Sheet ==============
St Equation
* S=1/2*a*t A 2
=============================== Variable Sheet ==============:
St Name Value Dsp Unit Cal Unit Comments
0L S
1 a 9.8
IL t
================================= List Sheet =============================
Number of List Elements: 10
t
1
2
3
4
5
6
7
8
9
10
================================= List Sheet =============================
Number of List Elements: 10
S
4.9
19.6
44.1
78.4
122.5
176.4
240.1
313.6
396.9
490
model (this is effected from the set-up
sheet, which is discussed below).
Any list not indicated specifically as
an I(nput) L(ist) is assumed to be an
O(utput) L(ist); the program changes
the L to OL when the model is solved.
Regardless of input or output, as long
as list status is indicated, input values
cannot be entered in the value field.
Formula/One will not solve a
model in which all of the variables are
assigned L, the general list status. At
least one list must be assigned IL status.
The program has no list command;
when a model contains input lists, the
list solver is invoked automatically
when the solve command is entered.
Lists can be used as arguments of
certain functions in a model that is to
be solved only once—a model, that is,
without input and output lists. In that
case, list variables cannot appear in the
equations as variables. Instead, the list
name must be entered in the name
field of the variable sheet directly, and
then the list status is set.
SOLUTIONS
Formula/One provides a single solve
command. The modeler enters this
command and the program determines
the solution method from various
aspects of the model. Its primary
method is the algebraic solver (analo¬
gous to TKISolver’s direct solver).
This solver proceeds through the
model, beginning with the first equa¬
tion, searching for equations with only
one unknown variable to solve. It as¬
sumes the substitution of known values
from earlier equations. Certain condi¬
tions must be met for the algebraic
solver to solve a system of equations:
• First, an unknown variable must
appear only once in the equation. For
maximum efficiency, this rule should
be followed throughout a model.
Many equations that contain variables
in more than one location in textbook
form can be rewritten so that the vari¬
ables appear only once. For example,
y = x * x cannot be solved by the
algebraic solver, but y = x 2 can.
• Second, as was indicated above, each
equation can have no more than one
unknown variable.
• Third, the unknown variable cannot
be the argument of a function for
which there is not a unique inverse.
For example, the built-in function
sqrt(x) has a unique inverse, there¬
fore y = x 2 can be solved directly
whether x or y is the known variable.
However, y = sin(x) can be solved
directly only when x is known, be¬
cause the sine function is periodic.
If the algebraic solver is unable to
solve an equation or a system of equa¬
tions (or when the conditions required
for the algebraic solver have not been
met), the program invokes an iterative
solver. Like virtually all iterative meth¬
ods, Formula/One’s method makes a
guess at the value of the unknown vari¬
able, evaluates both sides of the equa¬
tion, and compares the two sides. If the
two values are equal or differ by less
than a predetermined amount, the
guess is presented as the correct an-
JUNE 1986
115
All IBM PC and AT programmers:
BRADY has your
number:80286
iiiiiiiiiiiiiiiiimiiiiiim
1 CIRCLE NO. 159 ON READER SERVICE CARD
THE IBM PC AT PROGRAMMER’S GUIDE
THE WAITE GROUP
This guide presents the nuts and bolts of program¬
ming the 80286 to get the most out of the AT’s
power. It includes discussions of the entire intel
CPU family for perspective and focuses on IBM
BIOS to enable programmers to get the most out
of its extended services. Examples include both,
assembly language and Pascal code to illustrate
software interrupts for DOS services, extended
memory access, and much, much more. $21.95
ASSEMBLY LANGUAGE PROGRAMMING
WITH THE IBM PC AT
LEO J. SCANLON
Perfect for both beginners and experienced pro¬
grammers, you’ll find everything from the basics
of computer numbering through to step-by-step
instructions for using the IBM Macro Assembler.
Clearly written, it presents logical groupings of
the entire 80286 instruction set for quicker, easier
learning along with complete coverage of BIOS
and a library of over 30 macros for faster pro¬
gramming. It also covers graphics and sound
control. $21.95 (Disk available)
80286 ASSEMBLY LANGUAGE ON
MS-DOS COMPUTERS
LEO J. SCANLON
Written for AT “compatibles,” Scanlon’s plain
English, tutorial style covers a crash course in
computer numbering, the fundamentals of
assembly language, assemblers, and the 80286’s
instruction set. The guide includes programs
for doing high-precision arithmetic, sorting,
and code conversions along with procedures
for using Microsoft’s Macro Assembler, EDLIN,
SYMDEB debugger, and LINK. $21.95
PROGRAMMER’S PROBLEM SOLVER FOR
THE IBM PC, XT, AND AT
ROBERT JOURDAIN
Here’s the ultimate reference source that
includes over 150 solutions to common
hardware-control tasks through high-level or
assembly programming or system functions.
It shows how to code for directory access, key¬
board macros, and advanced video and sound
control. Complete discussions of graphics on
the EGA, port and modem control, printer manipu¬
lation, and file operations answer just about
every question that arises in programming inter¬
faces. $22.95
Now at your book or computer store. Or order toll-free
today: In New Jersey: 800-624-0024
800 - 624-0023
r.
BRADY COMPUTER BOOKS
I c/o Prentice Hall,
P.O. Box 512, W. Nyack, NY 10994
I Circle the numbers of the titles you want
^ below. (Payment must be enclosed; or, use
I your charge card.) Add $1.50 per order for
1 postage and handling. Enclosed is check
I for $_or charge to
□ MasterCard □ VISA.
1 1 (089303-580-7) 2 (089303-484-3)
Exp. date
Act. #.
Signature
Name
Address
City
(New Jersey residents, please add applicable sales
tax.) Dept. 3 GR-TECJ-BZ(O)
3 (089303-618-8) 4 (089303-787-7)
FORMULA/ONE
swer: the output value. If the two sides
differ by too great an amount, a new
guess is generated, based on the pre¬
vious guess and according to an unspe¬
cified rule, and the process is repeated.
Formula/One uses a single criter¬
ion for evaluating the correctness of an
iteration—a comparison tolerance. This
value, .000001 by default, is stored in
the set-up sheet. The length of the itera¬
tive process is controlled by both the
comparison tolerance value and a maxi¬
mum iteration count , also stored in the
set-up sheet. The default for this count
is 10 but it can be changed to any value
from 1 to 999.
With no separate list command,
Formula/One determines the need for
list processing based on the status fields
of the variable sheet and repeats the so¬
lution process for each element of the
shortest list—not including lists that ap¬
pear only as arguments of list functions.
That is, the list solver repeats the solu¬
tion process as long as it has input val¬
ues and places to store them. If all the
equations in a model do not reference
all the list variables, the number of so¬
lutions may not be the same for each
equation. If the first equation can be
solved directly from the first set of in¬
put values, it will be solved repeatedly
for each element in the shortest list
before the second equation is solved.
Formula/One does not complain
about inconsistent or over-constrained
models. When an equation is first de¬
fined, its status indicator is blank. After
the model is solved, each equation will
have one of two indicators displayed in
its status field: a * meaning solved or a ?
meaning unsolved. No indication is
given if a model was overdefined
(which is usually the case if input val¬
ues are assigned so that the number of
unknowns is less than the number of
independent simultaneous equations).
In some cases, the program will display
a status indicator of Z, with an accom¬
panying message, “Zero determinant,
equations may be inconsistent.”
Consequently, care must be taken
in assigning input values, especially in
models that require iteration for a cor¬
rect solution. If too many input values
are assigned in such a model, the pro¬
gram may announce a solution solely
with the use of the algebraic solver on
selected equations, ignoring the remain¬
der. Fortunately, the program flags the
unused equations with the ? indicator.
The solve command is supple¬
mented by the solve new command
(F4), which is mentioned in the help
screen on solving and in the quick ref¬
erence card, but not in the manual. This
PC TECH JOURNAL
command solves any equations left un¬
solved by the first command, assuming
that action has been taken to correct
the condition that prevented a complete
solution. If all equations are unsolved,
the effect of the solve new command is
identical to that of the solve command.
THE RESULTANT DISPLAY
For models that do not use lists (and
following a successful solution),
Formula/One displays the values of all
variables in their respective value fields.
The status held indicates which values
were input by the modeler and which
were output by the program. Results
are displayed in display units if the
appropriate conversion factors were
defined in the units sheet and in
calculation units otherwise.
A second method of presenting re¬
sults is the display sheet, which lets the
user define a custom input/output
screen—the generated display. The dis¬
play sheet has four fields—header 1,
name, format, and header 2. It can have
92 lines, with each page displaying 23
(line 24 holds error messages; line 25
lists function key assignments).
The generated display can make
the user interface to a model even
friendlier than the standard equation/
variable sheet display. Long field labels
and instructions can be displayed to
facilitate the use of the model by per¬
sons who have not learned to use the
program. The cursor can be positioned
only in data fields. Input values can be
supplied, the model solved, and tables
and plots displayed from the generated
display. The modeler reaches the
generated display via the dive command
from the display sheet.
For models that use lists, output
lists can be examined singly by diving
to the specific list sheet from the vari¬
able sheet. The preferred method to ex¬
amine the data of a list-based model,
however, is to define tables or plots to
display the list data. Tables and plots
are defined in separate sheets.
The table sheet permits specifica¬
tion of the display device (screen or
printer), horizontal or vertical layout,
header underline, a sort variable and
sort order, the title, and the lists that
will comprise the table. A table can in¬
clude as many as 10 lists. The format of
each one can be specified individually,
and a one- or two-line header can be
displayed above each list. To display the
current table—the one defined on the
table sheet—the modeler uses the dive
command (or F8).
The plot sheet defines graphs or
plots. Similar to the table sheet, the plot
Speed Enhancement for the IBM PC or XT Microcomputers
The PC SUPERCHARGER " by Dynatec is a plug-in board which vastly increases the operating speed
ot your IBM PC, XT or compatibles. The SUPERCHARGER'S highspeed 8088-1 micro processor races
at 9.54MHz - twice the normal speed of your PC.
The SUPERCHARGER™ is Direct Memory Access (DMA) compatible, a special proprietary chip governs
the system so it always runs within the optimum specifications outlined by IBM. “It accelerates on the
straight aways and slows down on the curves.” While the SUPERCHARGER'" blazes through all
your work, it maintains 100% compatibility with your software and hardware.
Plugging into your computer's microprocessor socket, the SUPERCHARGER™ leaves all slots free for
memory, video, modem, and other peripheral boards. Select normal or high speed by flipping a switch
which mounts on the back panel of your PC; no cutting or drilling needed. You can even flip the switch “on
the fly,” no turning off or rebooting to change speed.
Productivity is the name of the race these days, the SUPERCHARGER™ saves you time. After all isn't
that why you bought a computer? You’re paying for a SUPERCHARGER ™ in lost time, you’re just not
receiving the benefits of having one.
The SUPERCHARGER™ ... Super fast.. .Super compatible... and very affordable. Get Super¬
charged not overcharged.
FEATURES
No Expansion slot required-leaves open for mem- High-Normal speed switch (included)
ory, color CRT, modems, etc. Easily installs in 20 minutes.
Compatibility - You want to run your favorite soft- Completly DMA compatible
ware faster, now you can. Speed - all operations—memory access, 1-0
Totally “transparent” -once installed you some- functions, screen writes, even the new high cap-
times forget its there. acity memory and high resolution graphics boards.
Dealer Inquires Invited
Dynatec Systems Inc.
870 East 9400 South 103-B
Salt Lake City, UT84070
1-800-367-3613 orders only
(801)572-1568
Suggested Retail
$ 299°°
IBM is a registered trademark of International Business Machines Inc.
SUPERCHARGER is a trademark of Dynatec Systems Inc.
JUNE 1986
CIRCLE NO. 225 ON READER SERVICE CARD
117
FORMULA/ONE
sheet permits specification of the dis¬
play device (screen or printer), as well
as the status of the display of scales
along the x and y axes. One field specif¬
ies the list variable associated with the x
axis, and up to 10 list variables can be
specified for display on the y axis.
Formula/One plots are produced
with characters, not as graphics, regard¬
less of the graphics capabilities of the
display device. This is true for both
screen and printer displays. Plots can be
produced by pressing dive (>) from
the plot sheet or F10 from any other
sheet in the model.
NAVIGATING
Most models require the use of several
sheets, any two of which can be dis¬
played on the screen at any given time.
Several commands are devoted to
moving around within the model.
As discussed above, the session
begins with the display of the equation
and variable sheets, with the cursor
positioned in the first row of the equa¬
tion sheet. The cursor arrow keys, along
with Home, End, PgUp, and PgDn, are
used to move the cursor around the
current sheet. The switch sheet com¬
mand moves the cursor between sheets
in a two-sheet display. With these keys,
the cursor can be positioned anywhere
in the current virtual display, consisting
of the entire equation sheet and the
rows of the variable sheet that contain
entries, plus one blank line immediately
below the last entry.
The window command (/W) is
used to toggle the display between a
single-sheet and a two-sheet format. In
changing from a two-sheet display to a
single sheet, the sheet in which the cur¬
sor is located when the command is
executed will remain on the screen. In
moving from a single sheet to a
two-sheet display, the sheet previously
removed is returned.
To change the sheet completely
from any of the main sheets—equation,
variable, display, table, plot, curve, re¬
gression analysis, unit, and set-up—the
goto command (=) is used. Executing
this command (except during the entry
of an equation) displays a list of sheet
names on the bottom line of the screen.
The desired sheet is selected by typing
the first letter of its name. Goto is not
available directly from list sheets or
from plot, table, or generated displays;
from any of these sheet, the return key
(<) or Esc must be pressed first.
Formula/One includes a context-
sensitive help facility. Help is invoked
by pressing the ? key, but only when
the program is waiting for a com¬
mand—help is not available during the
entry of an equation or value. The help
hie is hierarchical in organization and
quite responsive. The modeler chooses
a page by locating the cursor in a spe¬
cific sheet and held. Each page has pa¬
ragraphs of text and a menu of addi¬
tional, related topics. Common to all
help pages is a line of instructions for
proceeding to the next page (Return),
returning to the previous page Q, and
leaving the help function (Esc).
FUNCTIONS
Formula/One includes an extensive
complement of math, conditional, list,
and special functions. The standard
math functions are provided—trigo¬
nometric, inverse trigonometric, loga¬
rithmic, and exponential—and 12 differ¬
ent forms of the IF statement comprise
the conditional functions. Table 1 de¬
scribes the list and special functions.
Functions, along with the appro¬
priate arguments, can be included in
expressions wherever a simple variable
can be used. Functions generally share
the syntax, Y — f(X), where X is a
variable, a constant, or an expression,
which may contain nested functions.
Formula/One’s math functions are
straightforward, as are most of its spe¬
cial functions. Several list functions re-
Eco-C88 is a full C compiler for MSDOS machines. Everything you need is included
in the low price of $59.95, including a full-screen editor. Here’s what some
reviewers are saying about the Eco-C88 C Compiler:
“Eco-C performed well on all the benchmarks, generating code that
was quite comparable to that of compilers 10 times as costly.”
Christopher Skelly, Computer Language, Feb., 1986
“This compiler does handle syntax errors much better than average
- no avalanche of spurious messages here.”
William Hunt, PC Tech Journal, Jan., 1986
“Eco-C88 is a high-quality package... convenient to use...”
Dr. David Clark, Byte, Jan., 1986
“Eco-C is definitely a bargain... it includes both the compiler and an
excellent Turbo-style editor... a useful compiler for advanced applications,
and will serve far beyond the beginning phase.”
Gary Entsminger, Micro Cornucopia, April-May, 1986
The compiler comes with a standard library of over 200 functions, cc
and “mini-make” utilities, ANSI language enhancements (e.g.,
prototyping), expanded user’s manual, plus much more, all for the low
price of only $59.95. Also ask about our support products!
If ordered with the compiler, the C library source code (excluding transcen-
dentals) is $10.00 and the ISAM file handler (as published in the C
Programmer’s Library, Que Corp) in OBJ format is an additional $15.00. Please
add $4.00 for shipping and handling. To order, call or write:
Ecosoftlnc. , ____
6413 N. College Avenue 1-800-952-0472
Indianapolis, IN 46220 (orders only)
(317)255-6476 • 8:30-4:30
CIRCLE NO. 131 ON READER SERVICE CARD
Trademarks: Eco-C88, Microstat (Ecosoft), CP/M (Digital Research), MSDOS (Microsoft), PC-DOS (IBM), Z80 (Zilog), 8086, 8087, 8088 (Intel).
We’ve continually improved Microstat since it was introduced in 1978, and
the latest release includes many new features you’ve wanted.
Interactive and Batch Processing
Expanded Data Management
Subsystem with New Data
Transforms
Reading data files created by other
programs (e.g., Lotus)
3 types of Analysis of Variance
Time Series
Crosstabs and Chi-Square
Factorials, Permutations, and
Combinations
Hypothesis Tests
Data sets that can exceed memory
Multiple Regression (including
Stepwise)
Scatterplots (including best fit
regression)
Correlation Analysis
12 Nonparametric tests
8 Probability Distributions
Descriptive Statistics
Easy Installation
Microstat’s algorithms have been designed to prevent numeric overflow errors
and yield unsurpassed accuracy. Microstat’s price is $375.00 including the
user’s manual and is available for the Z80, 8086, 8088 CPU’s and CP/M80,
CP/M86, MS-DOS, and PC-DOS. To order, call or write.
TABLE 1: Special Functions
LIST FUNCTIONS
COUNT(LIST)
CORR(LISTl ,LIST2)
Returns the number of elements in list
Returns the correlation coefficient of two lists
DPOLY(X,LIST)
DOT(LISTl ,LIST2)
Returns the value of the derivative of the polynomial
whose coefficients are stored in list, evaluated at x
Returns the dot product of the vectors stored in two lists
IPOLY(X,LIST)
MAX(LIST)
Returns the value of the integral of the polynomial
whose coefficients are stored in list, evaluated at x
Returns the largest value stored in list
MIN(LiST)
MVAVG( I.IST.XY')
Returns the smallest value stored in list
Returns the average of a: elements of list, beginning with
element y
NPV(R,LIST)
POLY(X,LIST)
Returns the net present value of list at rate r
Returns value of polynomial whose coefficients are
stored in list, with variable = a:
STDEV(LIST)
SUM(LIST)
SUMSQ(LIST)
USE(X,LIST)
VAR(LIST)
Returns the standard deviation of list
Returns the sum of the elements of list
Returns the sum of the squares of the elements of list
Returns the value of the xth element of list
Returns the variance of list
MISCELLANEOUS FUNCTIONS
ABS(X) Returns the absolute value of a:
ATAN2(X,Y) Returns the arc tangent of x/y
CASHF(X,Y,Z) Returns the cash flow per term required to produce the
net present value x, at interest rate y, for term z
ELT() Returns current element number during list solve
FACT(X)
INT(X)
Returns x!, factorial of a;
Returns the integer portion of real number a;
INTEG(FX,XAB,N)
Returns the value of the function fx, integrated with re¬
spect to x, over the interval a to b, using Simpson’s
Rule —n is an optional number of subintervals, which
defaults to 10
MOD(X,Y)
SIGN(X)
Returns the remainder produced by x/y
Returns 1 if x > 0, 0 if x = 0, and — 1 if x < 0
Formula/One is notable for its many specialized functions: mathematical functions
for polynomials and statistical functions for series. This program also provides the
standard math functions, along with their inverses.
semble those of advanced spreadsheets.
The polynomial and element-related
functions probably will be new to
spreadsheet users moving up to equa¬
tion solvers. The elt( ) function is a
pointer that provides a value equal to
the position of the list solver, as it steps
through the lists. This pointer can be
used as the base of a calculation to ac¬
cess elements of a list other than the
current element. The use(...) function
actually retrieves the value of a specific
element of a list. Used in conjunction
with the elt() function, use(...) is avail¬
able for various numerical methods,
such as difference functions, numerical
differentiation, and integration.
The polynomial functions provide a
way of working with integrals and de¬
rivatives (assuming the program’s built-
in method is satisfactory). The statistical
functions simplify the construction of fi¬
nancial and statistical models.
The conditional functions simplify
the construction of models that must
accommodate piecewise functions.
Systems that must be described by
different equations in different regimes
require models composed of several
equations using the same variables.
Conditional functions can provide
logical multipliers to select the proper
equations, based on the value of one or
more parameters.
Although Formula/One includes a
powerful assortment of list functions, all
of them are limited by the manner in
which the program handles the assign¬
ment of variable values. As noted above,
a variable cannot be assigned a string
value unless the its status is set to S;
this makes it a list variable. As a result,
list functions accept quoted lists only. A
variable that holds the name of a list is
not a valid parameter; neither is a func¬
tion that returns a list.
C
DYNAMO
FREE!
PCUNIX™
(WITH ANY PURCHASE OF $250 OR MORE.
LIMITED TIME OFFER)
LIBRARY: 325 fully tested functions
screen handling/graphic, cursor/
keyboard/data entry string handling,
status and control, utility/DOS/BIOS/
time/date, printer control, 4 disks
$129.95
WINDOWS: The most powerful
windowing package available,
overlays, borders, piop-up menus/
help windows, zap instantly on/off
screen, status lines, horizontal/
vertical scrolling, color control/
highlighting, word-wrap, files to
windows, keyboard to windows
3 disks $129.95
SUPERFONTS FOR C: Dramatic,
high impact screens. Use our
character & image libraries and
functions, or create your own.
Font & Function Library $49.95
B-TREE LIBRARY: Fast indexing
B-tree. 16 million each: keys and
records, unlimited keys per file,
variable length records. PC-DOS,
UNIX, XENIX, CP/M. $79.95
ISAM DRIVER: $49.95
COMPATIBILITY: PC/XT/AT; Full
K&R, Cl-C86/De Smet/ Lattice/
Microsoft 3.0/Aztec/others.
VALUE: All source code, No royalties.
Best documentation available.
No matter what else
you have, you need these.
C-TERP: Simply the best C
interpreter available. See C Journal
Summer 1985
C-TERP (specifycompiler) $299.95
PCUNIX: Multi-tasking, networking
multi-user. With source code $99.95
™ Wendin Software
COMBINE AND SAVE!
C LIBRARY plus C WINDOWS
BOTH for only .$179.95
+ SUPERFONTS FOR C .$199.95
+ B-TREE and ISAM _$299.95
(A $440 VALUE)
C LIBRARY plus C WINDOWS
+ SUPERFONTS
+ C-TERP (a $610 value) . . . . $459.95
All (a$740value) .$549.95
€ntelekon
12118 Kimberley, Houston, TX 77024
713-468-4412
VISA MASTERCARD CHECK COD
CIRCLE NO. 158 ON READER SERVICE CARD
119
JUNE 1986
FORMULA/ONE
Noticeably absent is a facility for
defining user functions. (TKJSolver pro¬
vides a mechanism to create a user
function by associating two lists, one as
the domain, the other as the range. Val¬
ues can be mapped in three ways.)
Without such a facility, Formula/One
cannot accommodate empirical func¬
tions (such as step functions) exactly, al¬
though the curve-fitting facilities de¬
scribed below offer some capability.
CURVES AND OTHER SHEETS
Formula/One includes built-in curve-fit-
ting and regression-analysis facilities,
with individual sheets devoted to each.
The curve sheet has five fields that de¬
fine the curve-fitting parameters. The
first two fields—dependent variable and
independent variable—are input fields
for the names of list variables. Both lists
contain values. The third held indicates
the name of a list in which the program
will store the coefficients of a polynom¬
ial that will describe the relation be¬
tween the two data lists. The fourth
held indicates the degree of the poly¬
nomial to be ht to the data. The last
held, the correlation coefficient, is an
output held that displays a measure of
the “goodness of ht.”
A curve-fitting session begins with
the variable sheet. The hrst step is to
enter the names of the desired lists in
the name held. Then, each variable is
assigned L(ist) status. Next, the size of
each list is set to accommodate the
required list of values. Finally, the
independent and dependent variable
lists are filled with values.
The curve sheet is then accessed
with the =C command, and the list vari¬
able names are entered, along with the
degree of the desired polynomial. En¬
tering the solve command (or pressing
F9) causes the program to generate the
coefficient list and the correlation coef¬
ficient. By starting with a low degree,
and increasing it, the data can be ht
with a curve of the lowest degree that
produces an acceptable ht. Once the
curve has been ht, the modeler has a
polynomial that can be used as an
approximation of an empirical relation.
Whereas the curve sheet provides
the modeler with a method of htting a
polynomial of degree 9 or less to a de¬
pendent variable as a function of a sin¬
gle independent variable, the
regression-analysis sheet provides a
method of htting a linear, or hrst-order
function, of several independent vari¬
ables to a dependent variable. The re¬
gression-analysis sheet is similar to the
curve sheet, but instead of a single in¬
dependent variable held, it has 10 rows
of helds. Each row has a held for the
name of an independent list variable
and for a corresponding coefficient. The
sheet also contains an output held la¬
beled intercept, which displays the con¬
stant term of the resulting polynomial.
The regression-analysis sheet can
produce a polynomial that describes the
relationship among several lists, and the
signihcance of each independent vari¬
able in the relation. The resulting poly¬
nomial can be used to predict the value
of the dependent variable, or the most
signihcant variables can be used in a
simpler polynomial. This facility also
accommodates empirical relations.
The set-up sheet contains some
previously discussed fields: maximum
iteration count, maximum list length,
comparison tolerance. These helds
determine the global default list size, as
well as the parameters that control
iteration. Another held, intermediate
redisplay/controls whether the results
of intermediate calculations are dis¬
played during a solution.
This sheet also has a comment
held, for model identihcation (ID),
which is displayed when the disk direc¬
tory is called from within Formula/One.
The remaining helds control communi¬
cation with the output device. For the
PRN list device, the printer width and
page length can be set. If the output is
to be sent to a disk hie for printing at a
later time, via the print command (/P)
for example, the hie name is entered in
the printer or hle-name held.
The ability to send printed output
to a disk hie permits the data from
table and plot sheets to be incorporated
into word processor data hies, and to
be edited. The contents of any sheet
can be printed using /P, or sent to a
disk hie. Thus, an entire model can be
incorporated into a report, via a word
processor data hie, or sent to a database
management program.
MOVING AND STORAGE
Formula/One models are contained
completely in RAM, but they can be
saved to disk at any time with the save
command (/S); the program requests a
name for the storage hie. A model can
be stored in stages as it is developed.
Models are recalled from disk
using the load command (/L), which
copies the disk hie into memory with
no modihcations. The load command
also will prompt for the name of the
hie to be loaded. Both the save and
load commands will list the model hies
on the current disk or a specihed disk,
with ID held data, if available, displayed
adjacent to the hie name.
TRUE MULTI-TASKING!
TASKVIEW is high tech, available now, and it works with virtually all DOS software.
Give Lotus, Sidekick, Multimate or most any DOS program the advantages of real multi¬
tasking. It’s simple to use, compatible, bulletproof and most of all, it won’t slow you
down. That’s because TASKVIEW only shares your computer when YOU want it shared.
At other times, your visible program runs at full speed, waiting for you to easily
switch from program to program at the touch of a key. Compatible with most DOS
computers including the IBM PC/XT/AT/Jr. series, you can order TASKVIEW today
for only $69-95 + 5.00 Shipping and Handling, VISA and Mastercard.
ORDER LINE
(206) 367-0650
30 Day Money Back Guarantee.
Taskview trademark Sunny Hill Software.
Lotus trademark Lotus Development Corp.
Sidekick trademark Borland Inti.
Multimate trademark Ashton Tate.
Sunny Hill
Software
13732 Midvale North Suite 206
Seattle, Washington 98133
©
CIRCLE NO. 152 ON READER SERVICE CARD
120
PC TECH JOURNAL
Especially Turbo Pascal users!
f, you can cross the bridge to Modula-
This is Modula-2 at its absolute best. It’s a fully integrated development
environment that takes into account what you need as a programmer. Without leaving
the Editor, you can call the compiler, linker and utilities.
With Logitech’s Modula-2, you’ll have the ability to edit several files at once,
comparing, window to window, various code modules. You can even move from
window to window compiling, linking, debugging and running.
The compiler has the kind of power and room to breathe that you really need in
today’s complex applications. It is as easy to use as Turbo Pascal, without your
programs being limited to 64K of code.
At your command will be the libraries of modules that make Modula-2 a
programmer’s dream. It has essentially the same structure as Pascal with the major
addition of a library organization of code modules that allow you to put together
programs on a solid, block-by-block, foundation of proven code.
Whether you’re working with a module of your own making, or one of the many in
our library, you’ll find the system by which each module is identified, described and
stored an organizational masterpiece. And that’s at the heart of Modula-2.
Underneath the sophisticated system is a Modula-2 compiler that is the result of
years of development and proven use in industry. We run on the Vax*, and we run on
the IBM PC. And the code is portable-from one to the other.
Best of all . . . you can have it right now!
2 with ease.
To place an order call our special toll free number
800 - 231-7717
in California
800 - 552-8885
Logitech Modula-2/86 Complete with Editor,
«jqa Run Time System, Linker, Cursor-posi-
my tioning debugger, 8087 Software Emula¬
tion, BCD module, Logitech’s extended
library, Utility to generate standard .EXE
files, Turbo Pascal (and standard Pascal,
too) to Modula-2 translator (included
without charge until 8/1/86), and much,
much more!
Logitech Modula-2/86 with 8087 support Even if
SlOQ^ ou haven t y et g° tten an 8087 co-pro-
^IZy cessor, you can still use this version.
Logitech Modula-2/86 Plus For machines with
<t<-|qq 512K or more. Takes advantage of the
larger memory to increase compilation
speed by 50%! Supports 80186 and 80286
as well as 8086 and 8088. Includes 8087
and 80287 support, too.
Window Package Now you can build true win¬
dowing into your Modula-2/86 code with
ease, too. Very powerful and very full, yet
only 15K in size. Features virtual screens,
color support, overlapping windows and a
variety of borders.
$49
Run Time Debugger (source level) Much more
SAO P ower ^ u * f h an just a symbolic RTD.
Display source code, data, procedure call
chain and iaw memory. Set break points,
assign values to variables; pinpoint and
identify bugs in your source. The ultimate
professional’s tool!
Utilities Package Features a post-mortem de¬
bugger for static debugging. If a program
you’ve written crashes at run time, the
situation is frozen, and you can pinpoint,
in source, the cause of the error and the
data at that moment. Also includes a
disassembler, a cross reference utility and
a “version” utility that allows conditional
compilation.
Make Utility Automatically selects modules af-
fected by code changes for quick and
minimal re-compilation and relinking.
Even figures out dependencies for you.
Library Sources Source code for our major library
SQQ mo< ^ u ^ es ls now available-for customiza-
*yy tion or exemplification.
ROM Package If you need to produce rommable
code, call our 800 number for further
information on this package.
w I’d like to take the next
16 S 5 logical step in programming.
Please send my copy of Logitech Modula-2/86
to the following address:
□ VISA □ MasterCard □ Check Enclosed
Card Number
Signature
Expiration Date
Name
Address
City
State-
-Phone (_
Here’s the configuration I’d like: And include the indicated items:
□ Logitech Modula-2/86 $89 □ Window Package $49
□ Logitech Modula-2/86 $129 □ Run Time Debugger $69
with 8087 support (source level)
□ Logitech Modula-2/86 Plus $189 □ Utilities Package $49
Please add $6.50 for shipping O Make Utility $29
and handling. □ Library Sources $99
Total enclosed $_
(California residents, please add applicable sales tax)
LOGITECH
LOGITECH, Inc.
805 Veterans Boulevard
Redwood City, California 94063
Telephone (415) 365-9852
For European pricing, please contact:
LOGITECH SA
Box 32, CH-1143 Apples, Switzerland
Telephone 41 (21) 774545
CIRCLE NO. 229 ON READER SERVICE CARD
’Turbo Pascal is a registered trademark of Borland International
Dcits.
Defense!
with FastbacK
Before your valuable data comes under fire from a hard
disk crash, is annihilated due to an accidental reformat,
or destroyed by any other frontal attacks, get FASTBACK.
With FASTBACK, you can defend your valuable data
from loss ivithout spending a fortune on a clumsy tape
backup system. For just $179, FASTBACK is the software
backup utility that consistently outperforms tape systems
costing $1000 to $2000 or more — on your present floppy
disk drive.
The best defense is a good offense.
FASTBACK attacks the danger of data loss at its source:
slow, hard-to-use backup procedures. Let's face it, if you
have to spend hours to back up your full hard disk (as you
do with the DOS "BACKUP" utility), you're not going
to do it very often. But with FASTBACK you can back up
a full 10 megabytes in just 8 minutes flat (4 minutes on the IBM
PC-AT)! So you can back up every bit of data every day,
without even missing a coffee break.
But is it bullet-proof?
We won't guarantee your backups will be bullet-proof,
but we've stapled them, nailed them, and even punched
a hole bigger than a .22 calibre slug right through one —
without losing a single byte of data! FASTBACK's ad¬
vanced error-correction algorithms push safety to the
very limits of human ingenuity. That's Data Defense!
Be safe, not sorry.
FASTBACK is fully self-contained, and works with any
make or size hard disk running on any IBM™ PC or
compatible (requires PC-DOS™ or MS-DOS™ version 2.0
or higher and at least one floppy disk drive). It is fully
file-oriented (not a "disk image"), menu-driven and easy
to use, with built-in safeguards that make it virtually
"fool-proof".
So get the safe solution, and get it fast. Get FASTBACK
toda y =_ Fifth
. ~ = Generation
SYS T E M S
909 Electric Ave Suite 202, Seal Beach, CA, 90740; 7942 Picardy Ave
Baton Rouge, LA, 70809; Tel : 1-800-225-2775 or (213) 493-4483
Marketing and Sales by CSSL, Inc.
‘This product is in no way associated with or has origination in Fisher Scientific or Allied Corporation. IBM-PC, IBM-XT, IBM-AT and PC-DOS are
registered trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft, Inc.
CIRCLE NO. 108 ON READER SERVICE CARD
FORMULA/ONE
Models can be saved in their en¬
tirety or in modules. The options of the
save command are: all sheets, the equa¬
tion sheet, the variable sheet and asso¬
ciated lists, and the unit sheet. These
options permit the accumulation of li¬
braries of equations, variables, variable
lists, and lists of unit conversion factors.
Thus, models can be assembled from a
library of modules, instead of being
constructed from scratch every time.
Loading a model does not cause the
current model to be overwritten.
FINISHING TOUCHES
The documentation comes in an IBM-
style binder. Most of the material is a
tutorial that takes the new user through
the entire program using simple mod¬
els. The distribution disk contains a
similar tutorial program. The latter por¬
tion of the manual is appendices that
contain the essential reference mater¬
ial—function syntax, equation syntax,
and so on. Once the modeler learns the
commands, the appendices become the
most important part of the manual.
The Formula/One package also in¬
cludes a program on disk called
ONE23. This file-conversion utility trans¬
lates Formula/One data hies into a
format that can be read by other pro¬
grams, including spreadsheets and data¬
base management systems. The transla¬
tion is accomplished using comma-de¬
limited data hies, which also facilitates
the production of user programs to ac¬
cess the model hies in BASIC, for exam¬
ple. ONE23 also will transfer data di¬
rectly to and from Lotus 1-2-3 .WKS
hies, without having to use intermediate
data hies. ONE23 can be used in either
interactive or batch mode.
Formula/One is written expressly
for the IBM PC and compatibles. Its
hardware requirements are one floppy-
disk drive, 192KB of RAM, and an 80-
column display, color or monochrome.
The program is copy protected (but it
can be installed on a hard disk). A hard
disk will load, save, and retrieve models
faster, but because a model is contained
completely in RAM, the hard disk offers
no speed advantage to creating and
solving. Formula/One was reviewed on
a PC, a PC/AT, and the AT-compatible
Fleath/Zenith H/Z-200. All three ex¬
ceeded the minimal hardware require¬
ments; no problems were encountered.
Two distribution disks are furnished,
and each disk can be installed twice;
the program also can be uninstalled.
The model designer who thinks in
terms of mathematical constraints and
equations will like the Formula/One ap¬
proach. This program offers a most
straightforward transformation of text¬
book-style mathematical models into
computer-automated form.
Formula/One: $395
Alloy Computer Products, Inc.
100 Pennsylvania Avenue
Framingham, MA 01701
617/875-6100
CIRCLE 347 ON READER SERVICE CARD
Victor E. Wright is manager of process engi¬
neering at Luckett & Farley in Kentucky. He
has a degree in industrial management from
the University of Cincinnati.
A SAMPLE PROBLEM
Stress Analysis. A fixed
crane has a mass of
1,000 Kg (kilograms)
and is used to lift a
2,400-Kg crate. It is —
held in place by a pin 1.5 m
at A and a rocker at B. -i—
The crane s center of
gravity is at G. Deter¬
mine the reaction com¬
ponents at A and B.
Solution. A free-body diagram of the crane is drawn. Mul¬
tiplying the masses of the crane and of the crate by g =
9.81 m/s 2 obtains the corresponding weights, that is, 9,810
N (newtons) or 9.81
KN (kilonewtons), and
23,500 N or 23.5 KN.
The reaction at pin A
is a force of unknown
direction, represented
by its components A Y
and \. The reaction of
the rocker B is per¬
pendicular to the
rocker surface; thus it
is horizontal. It is assumed that A x , A^,, and B will act in
the directions that are shown.
To determine B, the statement expresses first that the
sum of the moments of all external forces about point A is
zero. The equation obtained will contain neither A x nor A>,
because the moments of A Y and A,, about A are zero. Mul¬
tiplying the magnitude of each force by its perpendicular
distance from B:
+ )lM A = 0 : +£(1.5 m) - (9.81 KN) (2 m) - (23.5 KN) (6 m) - 0
£ = +107.1 KN B = 107.1 KN
Because the result is positive, the reaction is directed as
assumed. The magnitude of A x is determined by express¬
ing that the sum of the horizontal components of all exter¬
nal forces is zero:
i If^O: ^ + £ = 0 A x + 107.1 KN - 0
-107.1 KN ' A x = 107.1 KN<-
The result is negative, so the sense of A Y is opposite to
that assumed originally. In determining A^, the sum of the
vertical components must also equal zero:
+ T l F y = 0 : Ay - 9.81 KN - 23.5 KN - 0
Ay = +33.3 KN Ay, = 33-3 KNT
Adding vectorially the
components A Y and A>,
reveals that the reac¬
tion at A is 112.2 KN at
17.3 degrees to the up¬
per left (when 0 de¬
grees is horizontally
left on the diagram).
The values that
were obtained for the
reactions may be checked by recalling that the sum of
the moments of all external forces about any point must
be zero. For example, considering point B:
+ U M B = - (9.81 KN) (2 m) - (23.5 KN) (6 m) + (107.1 KN) (1.5 m) = 0
Kg = kilograms KN = kiloneu'tons m = meters
Formula/One solves this problem in figure 3 on page 115.
This material was obtained from Vector Mechanics for Engineers by Beer and Johnston (1977), courtesy > of McGraw-Hill Book Company
JUNE 1986
123
FORMULA/ONE
FORMULA/ONE VERSUS TK!SOLVER
PC Tech Journal’s review of TKISolver
in September 1985 came virtually on
the heels of Lotus’s acquisition of Soft¬
ware Arts (the creator of the pro¬
gram). Lotus formed a new division,
apparently to support TKISolver, but
never released a Lotus version. It
would serve no purpose to compare
Formula/One and TKISolver if that sit¬
uation had not changed: Lotus has
since sold TKISolver to Universal
Technical Systems (UTS). The en¬
hanced and repackaged version 1.6 of
TKISolver is now on the market.
When Formula/One was intro¬
duced, it was much faster than the
then-current version of TKISolver,
which was written is an obscure Soft¬
ware Arts language. Subsequent modi¬
fications have improved TK’s speed;
the most significant change has been
compilation. Software Arts had in¬
cluded a machine-specific interpreter
and a machine-independent program.
The UTS version is a combination of C
and assembly language-—its speed is
now on a par with Formula/One. As a
benchmark, three equations
x + 3 cos h(y) + Iz = 5
e x + y + z = 1
x - y = cos(z)
were solved for x, y, and z with both
programs. TKISolver solved the equa¬
tions in 40 percent less time than
Formula/One (6.3 seconds versus 10.0
seconds on a PC/AT).
THE NEW TKISOLVER
TKISolver version 1.6 also adds several
features that are similar to those of
FIGURE 1: Iterative Solution
Formula/One: function key support,
color displays, foreign character sup¬
port, and full-word prompts.
At a more practical level, TK 1.6
adds an if...then rule form that greatly
simplifies the construction of models
that must incorporate a branching
capability. With this construct, a user
can write a rule in the form
If shape = circle then area = pi * radius 2
Formula/One provides a similar capa¬
bility in the form of the conditional
functions ifeq(...), ifne(...), ifge(...),
ifgt(...), ifle(...), iflt(...).
Formula/One and TKISolver are
based on essentially the same concept,
but they approach modeling in slightly
different ways. Formula/One provides
a powerful set of built-in functions; TK
does not. However, TK permits the
definition of user functions. (TK2,
highlighted in a sidebar with the
TKISolver review, promises procedural
user functions.) Many of Formula/
One’s built-in functions can be dupli¬
cated with TK’s list solver, although
this process adds to development
time. The introduction of procedural
user functions should cut develop¬
ment time for equation-solving pro¬
grams in general.
Consider Formula/One’s built-in
functions for evaluating polynomials.
Poly(x, list) is the counterpart of the
TK function of the same name, but
ipoly(x, list) and dpoly(x, list) also
are provided to evaluate the integral
and derivative of the polynomial in .x
with coefficients stored in list. Dupli¬
cating these functions in a TKISolver
model requires the construction of a
model within the model.
Even more attractive than
ipoly(...) and dpoly(...) is the
Formula/One integ(fx,x,a,b,[n]) func¬
tion, which evaluates the integral of
the function fx on x, between the lim¬
its a and b, using Simpson’s Rule. This
procedure is a numerical method for
finding the area under a curve (which
is the definition of the integral of a
function) by evaluating the function at
a number of intervals and summing
the products of the value of the func¬
tion and the interval width. Simpson’s
Rule provides increasing accuracy with
smaller intervals, which can be speci¬
fied by the optional argument, n.
(This function approximates integrals
numerically and should not be con¬
fused with true symbolic integration,
which neither program includes.)
Nonetheless, integ(...) is certainly a
worthwhile function, and many com¬
plex integrals can only be approxi¬
mated, not solved exactly.
Business modelers will appreciate
other Formula/One built-in functions,
such as cashf(x,y,z), which returns a
cash flow per term, and npv(rate,
list), which returns the net present
value of a list of cash flows. Of course,
these functions can be duplicated in
TKISolver, but only at the expense of
development time.
ITERATIVE SOLUTIONS
Formula/One and TKISolver differ in
program organization in several ways.
For one thing, Formula/One provides
two sheets for which TK has no coun-
FIGURE 2: Graphical Solu tion
=============================== Equation Sheet ==========================
St Equation
A+B=C*D
sin(C-A)=ln<E/F)
St Name Value Dsp Unit Cal Unit Comments
A
I B 3.4
C
I D 1.325
I E .567
I F .25
=============================== Equation Sheet =======
St Equation
* A+B=C*D
* error+sin(C-A)=ln(E/F)
St
Name
Value
Dsp Unit Cal Unit Comments
0L
A
I
B
3.4
IL
C
I
0
1.325
0L
error
I
E
.567
I
F
.25
Formula/One and TKISolver use iteration to find values of
A and C that satisfy equations on the above sheet.
TKISolver requires initial guesses while Formula/One gen¬
erates its own guesses if none are provided.
Both programs offer an alternative: given a range of val¬
ues for C, the solver computes values of A and error.
Both packages can produce the plot in figure 3, indicat¬
ing an infinite number of C values for which error is zero.
124
PC TECH JOURNAL
terparts: curve fit and regression
analysis. These built-in capabilities
save the modeler considerable time.
Formula/One and TKISolver also
differ in solution strategies, particu¬
larly their iterative solvers. Both use
guess values for selected variables and
solve the model repeatedly, compar¬
ing the results of each solution to
those of the previous iteration. When
the results of two iterations differ by a
preset value, the program considers
the model solved. Both programs use
a comparison tolerance value to make
the determination. In addition to this
comparative value, however, TK uses a
typical value to scale the comparison
tolerance for use with very small or
very large values.
Both programs require iterative
solving under similar circumstances;
for example, expressions that cannot
be factored in the unknown variable
must be solved iteratively. TK requires
guess values to be input; Formula/One
does not. The Formula/One manual
does concede that guess values should
be entered in some cases, most nota¬
bly for models with multiple roots.
The figures point out other differ¬
ences. Given the set of input values in
figure 1, TK and Formula/One do not
produce identical results, although
both yield good approximations of the
solution. TK requires that C be set to
G(uess) status, while Formula/One
sets both A and C to G automatically.
On a PC/AT (6 MHz), Formula/One
took about 10 seconds to solve the
model in 12 iterations (and required
that the solve command be given
twice unless the maximum iteration
count were raised beforehand).
TKISolver solved the model in 3 sec¬
onds with 3 iterations.
With Formula/One, only the input
values need to be entered by the
modeler. Variables A and C can be left
blank: the program will produce guess
values automatically for both variables,
then it will invoke the iterative solver.
Following the completion of the first
10 iterations (assuming the default of
10 has not been changed to a higher
value), Formula/One displays a G sta¬
tus indicator for the two variables. If
acceptable values are not found after
10 iterations, the equation status field
indicates whether the values are
D(iverging) or C(onverging). TKI¬
Solver, however, will not solve the
model unless at least one vari¬
able—either A or C —is set to G.
In real-world engineering situa¬
tions, the time required to set up the
model is usually more significant than
the time required for solving. For one
thing, set-up requires both the com¬
puter and an operator, solving can be
left unattended. For models that re¬
quire iterative solutions, particularly
those that have equations with multi¬
ple roots, set-up includes both devel¬
oping the model in equation form,
and discovering the best-guess values.
Formula/One requires more at¬
tention to guess values because it sup-
plys a value for any variable not as¬
signed an input or guess value by the
modeler. This requirement compli¬
cates the process of discovering best-
guess values. TK will converge to the
correct set of roots given fewer (cor¬
rect) best-guess values.
Both Formula/One and TKISolver
provide the appropriate tools to arrive
at best guesses by graphical means. To
that end, the equations in figure 1 are
modified in figure 2.
By adding the variable error to
the model, the user can remove the
guesswork from the solution process.
The idea is as follows: by plotting er¬
ror against the unknown variable C,
the user can pick a value of C for
which error is zero; in effect, a solu¬
tion of the equation. Leaving the B , Z),
and F values as they were, the user
can create an input list for C and an
empty 7 (output) list for error. The user
may leave A a single-valued variable
or associate it with a list.
After these steps are taken, the
model can be solved with the list solv¬
er, and error can be plotted as a func¬
tion of C. Both TKISolver and
Formula/One produce a plot like the
one in figure 3- The user can refer to
the list sheets for error and C to lo¬
cate conditions of minimum error.
Incidentally, this exercise points
out another difference. Formula/One
has no explicit command to invoke
the list processor, but TKISolver does.
If a Formula/One model contains any
references to lists in the variable sheet
status column, it invokes the list
solver. Input lists must be assigned IL
status, and output lists must be as¬
signed L. To return to a single solu¬
tion mode, all list status indicators
must be removed. With TK, variables
can be associated with lists freely. The
list processor is not invoked unless
the /L command is entered.
MODEL COMPETITION
Formula/One and TKISolver were writ¬
ten to solve essentially the same types
of models, and to meet the needs of
the same group of users. Both per¬
form as intended and produce accu¬
rate results when used correctly. The
differences between the two are both
cosmetic and functional. TKISolver has
the distinction of being the first of the
genre (at least for microcomputers),
but Formula/One cannot be called a
TKISolver clone.
A model that can be solved on
one of these two programs can be
solved on the other (with varying de¬
grees of difficulty). TKISolver has the
edge in flexibility, but Formula/One
offers built-in functions.
—Victor E. Wright
TKISolver 1.6. $250
Universal Technical Systems, Inc.
1220 Rock Street
Rockford, IL 61101
815 / 963-2220
CIRCLE 348 ON READER SERVICE CARD
A plot of the equations in figure 2 reveals that error is a sinusoidal function of C.
To solve the equations exactly, pick a value of C for which error is zero.
JUNE 1986
125
REALTIME SYSTEMS
PC\fersions
ofiRMX
PC/RTX and AT/RTX from RTCS Corporation
are IBM PC-specific implementations of
Intel’s ubiquitous, highly adaptable iRMX86.
RICHARD M. FOARD
I ntel’s iRMX86, the largest and most
venerable of the 8086-family real¬
time operating systems, was de¬
signed in the late 1970s to address a
broad range of computing needs. Con¬
ceived in a commercial world that had
not yet seen the IBM PC, it was aimed
primarily at large, high-volume systems
manufacturers and integrators. Devised
to support the 8086 family in the widest
possible range of hardware environ¬
ments and application settings, iRMX
was built to be highly configurable with
respect to its hardware environment.
Real-Time Computer Science Cor¬
poration (RTCS), working under an In¬
tel resale license, has taken advantage
of the system’s configurability to create
iRMX-based operating systems for two
of the world’s most common vehicles
for 8086 family processors: PC/RTX for
the IBM PC and AT/RTX for the PC/AT.
These two products, which incorporate
Intel’s release 6.0 of iRMX86, are poten¬
tially attractive to both high- and low-
volume resellers of realtime systems
based on standard PC hardware. High-
volume resellers can build upon the
configuration work RTCS has done for
the PC and AT hardware sets. Low-vol¬
ume resellers, in addition to avoiding
the chore of configuring iRMX, can en¬
joy more favorable low-quantity pricing
from RTCS than they would see if they
purchased iRMX directly from Intel.
At $995 for PC/RTX and $1,495 for
AT/RTX, these systems are not priced or
packaged for the casual experimenter.
Most existing RTX users are larger cor¬
porations that already held iRMX li¬
censes from Intel when they purchased
RTX from RTCS. RTCS’s focus on larger
customers with technical sophistication
is evident in its handling of product
documentation: RTX is distributed with
a 24-page, RTCS-authored installation
127
COMPUTER GRAPHIC • DOV JACOBSON
iRMX
guide and Intel’s weighty Introduction
and Operator's Reference Manual. Doc¬
umentation on program interfaces to
iRMX is not distributed with RTX. Cus¬
tomers not already holding the docu¬
ments by virtue of holding iRMX li¬
censes from Intel are referred directly
to Intel for the two volumes of the
iRMX Programmer's Reference Manual.
Resellers building systems for non¬
standard PC/AT hardware sets can pur¬
chase configurable (but more costly)
variants of RTX from RTCS. These prod¬
ucts, unlike their PC and AT counter¬
parts, pass through all iRMX configura¬
bility, but require a direct license
agreement with both Intel and RTCS.
iRMX86/RTX COMPONENTS
In the spectrum of possible iRMX
configurations, RTX lies at the “fully
loaded” end. The RTX products contain
all of the iRMX system’s core and
optional components.
At the heart of RTX lies the iRMX
Nucleus. The Nucleus controls system
resources and coordinates tasking and
interrupt processing. Layered atop the
Nucleus are the iRMX basic and ex¬
tended I/O systems—RTX BIOS and
EIOS—which provide device-indepen¬
dent, file-based input and output. The
I/O systems manage hierarchical hie
systems on random access devices and
provide access to simpler devices. The
iRMX Universal Development Interface
layer (UDI), a standard set of service
routines, allows RTX to host Intel’s lan¬
guage compilers and other software de¬
velopment tools. (UDI system calls are
listed in table 1.) The iRMX Human In¬
terface component provides a set of
command line interpretation and opera¬
tor/program communications services
that allow a system’s users to invoke
programs and control system operation.
RTX also incorporates the iRMX Boot¬
strap and Application Loaders.
In the hierarchy of the system, be¬
ginning with the application system and
continuing with UDI, EIOS, RTX BIOS,
and the Nucleus, each element can
communicate directly with those ele¬
ments beneath it (see figure 1). For ex¬
ample, the application system can talk
to all of the other elements, but the
UDI can talk directly only to the EIOS,
the RTX BIOS, and the Nucleus.
The increased power of Intel’s
8086 family and other late-1970s micro¬
processors made an expanded complex¬
ity in operating software architectures
necessary. Integrated circuit manufactur¬
ers, anticipating their customers’ diffi¬
culties in grappling with growing levels
of complexity, dramatically boosted
TABLE
CALL
FUNCTION
DQALLOCATE
Allocates memory block
DQATTACH
Establishes a file connection
DQCHANGEACCESS
Changes file access rights
DQCHANGEEXTENSION
Changes file name extension
DQCLOSE
Closes a file
DQCREATE
Creates a file (and file connection)
DQDECODEEXCEPTION
Translates exception code
DQDECODETIME
Returns current date and time
DQDELETE
Deletes a file
DQDETACH
Detaches a file connection
DQEXIT
Returns control to RTCS/UDI (PC-DOS)
DQFILEINFO
Returns file information
DQFREE
Frees a memory block
DQGETARGUMENT
Gets a command line argument
DQGET CONNECTIONSTATU S
Returns file connection information
DQGETEXCEPTIONHANDLER
Returns current exception handler address
DQGETSI2E
Returns the size of a memory segment
DQGETSYSTEMID
Returns system identification string
DQGETTIME
Gets current date and time
DQOPEN
Opens a hie connection
DQOVERLAY
Loads an overlay
DQREAD
Reads from a hie connection
DQRENAME
Renames a hie
DQRESERVEIOMEMORY
Reserves memory for system use
DQSEEK
Sets/changes I/O position in hie
DQSPECIAL
Sets console input treatment
DQSWITCHBUFFER
Switches parsing buffer
DQTRAPCC
Sets Ctrl-C handler
DQTRAPEXCEPTION
Sets hardware-detected exception handler
DQTRUNCATE
Truncates a file
DQWRITE
Writes to a hie connection
By using RTCS/UDI running under PC-DOS, the developer can use the same calls to
the service routines as a developer who is using the VDI running under RTX itself.
their efforts to provide systems level
software as part of their product pack¬
ages. In Intel’s case, concerted efforts to
support the 8086 family yielded a more
highly structured, more formalized ap¬
proach to operating system design than
had been seen previously in commer¬
cial microcomputing. The development
of iRMX was an effort more akin to that
which produced UNIX than to that
which produced CP/M or PC-DOS.
These efforts culminated in 1980 with
the introduction of the layered, object-
oriented iRMX86 operating system.
Aside from its substantial size, it is
iRMX’s object-oriented design that sets
it apart from the microprocessor oper¬
ating systems that preceded it: iRMX can
be described completely in terms of the
properties and behavior of abstract
objects of various types. Objects are
tasks, units of resources used by tasks
(such as memory segments), special en¬
tities used in intertask communication,
or structured compositions of other
objects. The iRMX Nucleus allows the
creation, deletion, and manipulation of
eight types of objects: jobs, tasks, seg¬
ments, semaphores, mailboxes, regions,
extension objects, and composite ob¬
jects. All of its interfaces are described
in terms of these basic object types.
Of the eight basic types, tasks (and
composite objects that include tasks)
are the only active objects. iRMX termi¬
nology uses task in the conventional
sense: tasks perform the work of a sys¬
tem by creating, deleting, manipulating,
and passing other objects around. When
iRMX objects are passed among tasks or
from tasks to system calls, they do not
move physically from one place to
another. Instead, a compact (16-bit)
identifier called a token is passed.
Every iRMX system is structured as
a set of one or more job objects. Jobs
provide a way for a systems designer to
achieve close control over the distribu¬
tion of system resources. Jobs are most
frequently used when iRMX provides
128
PC TECH JOURNAL
INTRODUCING THE TD440 TAPE BACKUP SYSTEM
What will you do when your hard disk fails? Too many peo¬
ple wait until that catastrophic moment to consider the
importance of secondary storage.
And too many people rely on clumsy floppy disks or sec¬
ond rate tape systems to protect literally thousands of dol¬
lars of programs, data and time.
ADIC offers a better way—the TD440 Tape Backup
System—a complete 40 megabyte H" tape backup system
for IBM PCs, XTs, ATs and compatibles.
Available in standalone PC or network versions (IBM,
Novell and 3-Com to name a few), the TD4400 solves virtu¬
ally any backup need.
TOTAL DATA SECURITY
If you want to sleep nights without worrying about valua¬
ble data, the TD440 is for you. It’s the newest in our line of
superior quality tape systems, about which PC Tech Journal
says, “It’s hard to imagine a sturdier, more secure
system.. .the army tank of tape drives,” (Nov. 85).
Our QIC-100 tape format and redundant data recording
error detection/correction techniques insure total data integ¬
rity. Even if a data error occurs, the TD440 automatically cor¬
rects it.
TheTD440 keeps you up and running productively even
while the hard disk is in the shop. Now that’s true secondary
storage!
BUY THE BEST-FOR LESS
At only $1490, the security you buy with the TD440 is a
bargain. Ask the thousands of satisfied customers who have
put their trust in ADIC—trust that is well-deserved.
Every TD440 is manufactured to exacting standards,
using 3M drives and tapes in conjunction with ADIC technol¬
ogy. And our advanced backup and archival software makes
data management a snap.
So if you want superior pro¬
tection for your valuable data,
call ADIC today at 1-800-
336-1233. The TD440-it’s the
tape backup system for people
who refuse to accept second
rate protection.
The TD440 tape backup system
stores 40 Mbytes of data on easily
transportable 3M DC2000 cartridges.
HOWTO RUN PROGRAMS FROM A DEAD HARD DISK...
You can’t. Instead, when your hard disk crashes, simply
switch over to theTD440. It acts just like a hard disk,
responding to all DOS commands and lets you run pro- Advanced Djgjta| , nformation corporation
grams directly from tape. PO.Box 2996,10201 Willows Road N.E.
Redmond, WA 98073-2996
(800) 336-1233, (206) 881-8004
CIRCLE NO. 102 ON READER SERVICE CARD
©1986 Advanced Digital Information Corporation. All company and product names should be considered trademarks of their respective companies.
Call for latest prices.
FREE SHIPPING
in the Continental United States via UPS Ground.
NO SURCHARGE FOR E
Floppy Disk Drive M, "«S!SHI
Half-Height, DS/DD
Also available for AT 1 ” > habu j|
in Gray Color. PANASONIC
Half-Height, DS/DD
' TEAC
55-B, Half-Height, DS/DD
$109
64K RAM
*********
Set of 9 chips, 200 or 150 Nanoseconds
$10
per set
256K RAM $29 "1!**
PC's Limited AT
Multifunction Card
• Expandable To 3 Meg
(1.5 on Board/1,5 on Piggy Back Board)
• Supports 64 or 256K Rams
• Parallel Port
• Serial Port (2nd Serial Optional)
Piggy Back
w/ok Board $59 w/0K
PC's Limited Mini I/O
• Serial Port
• Parallel Port
• Clock
• Software
• Fits In Short Slot
$99
300/1200 Baud Hayes
Compatible Modem
Fits in Short Slot
PC's Limited Monochrome Graphics
Fully Hercules Compatible
$159
• Text Mode 80 X 25
• Graphics Mode 720 X 348 Pixels
• One Parallel Printer Port
PC'S LIMITED Six Function Card
• Upgradable to 384K
• Clock/Calendar
• Includes Software
• Parallel Port
• Serial Port
• Game Port
Two Year Warranty
w/0K $99 w/384K $149
Seagate
20 and 30 MEG
High Speed
40 MS Access Time
Hard Drives for AT™
Uses Linear
Voice Ceil
Activator.
Heads park automatically
at power down.
20 MEG $579
30 MEG $699
40 MEG $819
Includes Seagate Full Height Hard Disk,
Cable, and Mounting Rails.
Boots from Hard Disk. One Year Warranty. •
PC's Limited PC-576 RAM Board
• Expandable to 576K
• Supports 64K or 256K RAMS
• Fits in Short Slot
$69
W/OK
SOLVE YOUR POWER PROBLEM.
XT POWER 130W
$99
Directly replaces power
supply in PC. 1 ''
Fully XT™ compatible.
One Year Warranty '
PC'S LIMITED PC'S LIMITED
MONO-1 MONITOR RGB-1 MONITOR
$169 $459
• 12-inch screen
• Amber
• Compatible with monochrome
or color graphics cards
• 31MM dot pitch
• RGB input
• 12-inch screen
• 690X240 resolution
• 16 colors
TOTAL SATISFACTION GUARANTEE
WARRANTY
For Warranty Service: One year Limited Warranty on PC’s
Limited products. Contact Technical Support for a Return
Authorization Number (RMA). Returns must be accompa¬
nied by your RMA, the invoice, and a brief explanation.
During the Warranty Period, PC’s Limited will repair or re¬
place items at our option.
30-DAY TOTAL SATISFACTION GUARANTEE
Any item bought from PC’s Limited may be returned within
30 days from the date it was shipped for a full refund of
your purchase price. Returned items must be as-new, not
modified or damaged, with all warranty cards, manuals, and
packaging intact. Returned items must be shipped prepaid
and insured, and must bear a PC’s Limited Credit Return
Authorization (CRA) on the shipping label. Call PC’s
Limited’s Customer Support Department for CRA. No
credits issued after 30 days from date of shipment.
CONSUMER TIP
When shopping for PC products, ask our competitors about
their refund policies.
Seagate HD o Western Digital Controller
20 MiG Hard Disk System for PC
Internal
$449
For Xebec 1220 Combined Floppy/Hard Disk Controller add $75.
Includes Seagate Hard Disk, Western Digital Controller, Cables,
Manual, Software, and Mounting Hardware.
Boots From Hard Disk 65 MS Access Time One Year Warranty
Our Hard Disk Systems are compatible with the latest versions of the following Computers: IBM PC,
IBM XT, ATST 6J00,Compaq Deskpro, Tandy 1000, Tandy 1200, PC's Limited Turbo PC, Zenith ISO,
Zenith 151, Leading Edge PC (Both Models), Sperry PC, Wyse PC, Televideo PC, Faraday Mother Boards,
Corona PC, Eagle PC, ITT PC, and most other Compatibles.
PLEASE SPECIFY YOUR COMPUTER TYPE WHEN ORDERING.
Some quantities may be limited. PC’s
Limited sells equipment certified to
be compliant with FCC Class B stan¬
dards. Where equipment manufac¬
tured by PC’s Limited has not yet
received certification, PC’s Limited
will substitute equivalent certified
equipment. All prices are subject to
change without notice. We are an
independent sales organization.
| _
PC'S UMITED
SALES CALLS OUTSIDE TEXAS, 1-800-426-5150
1611 Headway Circle, Building 3, Austin, Texas 78754
Sales Calls from anywhere in country, (512) 339-6962 PHE
Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964
Limited warranty Telex No 9103808386 PC LTD FAX (512) 339-6721
Panasonic, TEAC, Mitsubishi, Intel, IBM,
Hercules, PUntronics, Xebec, Seagate, Western
Digital, AT&T, Compaq, Tandy, Leading Edge,
Sperry, Wyse, Televideo, Faraday, Corona,
Eagle, ITT, and Zenith are registered trade¬
marks of their respective companies. IBM PC,
IBM XT, IBM AT, are trademarks of IBM Cor¬
poration. Leading Edge PC, Sperry PC, Wyse PC,
Compaq Deskpro, Zenith 150, Zenith 151,
Televideo PC, Corona PC, Eagle PC, AT&T
6300, Tandy 1000 and Tandy 1200 are trade¬
marks of their respective companies.
Ad Number A06/86
CIRCLE NO. 145 ON READER SERVICE CARD
8088-2 System Unit • AT Keyboard
at 4.77 or 6.66MHZ) • DOW Power Supply
on Mother Board • Operations Manual
Floppy Drive • One Year Limited Warranty
Microsoft GW Basic" $95 • IBM DOS 3.1 $85 • 8087-2 $149
Our Turbo PC™has sold in large quantities since the first week we introduced it. Of course, that’s not surprising, since we
were the first company to break the $800 barrier with a machine that outruns the “Big” name by a 40% speed factor. Now,
we’re going to extend the margin even further by offering a 30-day money back guarantee. If that sounds good, it’ll look
even better when one of our Turbo PC’s is on your desk. So call us today. We’re guaranteeing you’ll like what you get.
When a PC's Limited Turbo PC is on yo
desk, you'll think it's a headliner too.
. a good machine. And a
heck of a buy. . . a fine
box. One I’d happily
choose over Big Blue’s
original... no status. . .
beyond the status that at¬
taches to getting twice as
much for your money.”
—Jim Seymour,
PC Week ,
August 13, 1985
“It almost sounds un¬
believable.”
—MIS Week ,
August 21, 1985
“We tested a wide variety of
software on the machine
and everything ran well. . .
The bottom line for any¬
one considering buying
one of these computers
would seem to be this:
PC’s Limited sells quality
systems for extraordinarily
low prices.”
—PC Week ,
October 29, 1985
Some quantities may be limited. PCs
Limited tell, equipment certified to
be compliant with ICC Class B stan¬
dards. Where equipment manufac¬
tured by PCs Limited has not yet
received certification, PCs Limited
will substitute equivalent certified
equipment. All prices ate subject to
change without notice. We are an
independent sales organization.
PC'S LIMITED
SALES CALLS OUTSIDE TEXAS, 1 -800-426-5150
SALES CALLS INSIDE TEXAS, 1 -800-252-8336
1611 Headway Circle, Building 3, Austin, Texas 78754
Sales Calls from anywhere in the country, (512) 339-6962
Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964
•limited warranty Telex No 910380S386 PC IIP FAX (512) 339-6721
And H that's not enough to convince you,
now we've got a 30-day money-back guarantee.
^| • One Year Limited Warranty
H|f • 80286-based System Unit (Runs at 6MHZ. 8MHZ option
llSlr" included at no extra charge.)
■ilCSL • 1024K on Mother Board
j • 1.2 Meg Floppy Drive
s II A j • Combined Floppy/Hard Drive Controller Card
• 192W Power Supply
^ * 2 Serials and 1 Parallel Port
_fl ■liillllllil EH * Clock/Calendar with Batten Backup
™ . .*0^ * Operations Manual
Microsoft GW Basic™ $95 • IBM DOS 3.1 $85 • 80287 $195
I’m Michael Dell, President of PC’s Limited. And I want you to know about your latest industry-leading step. We’re so sure
that you’ll like everything about our PC’s Limited AT that we’re willing to offer you a 30-day money back guarantee on it.
This machine, with 1024K on the Mother Board and an 8MHZ option included at no extra cost, has been a standout since
we introduced it. So give us a chance to show you what it can do for your operation. With a deal like this, there’s no way
you can lose. (And see the opposite side of this page for information about our Turbo PC™, plus details on our guarantee.)
Read what the experts say
about the PC's Limited AT.
“If price is your primary
consideration, skip both
AT&T® andTI® and choose
this issue’s best buy, the
PC’s Limited AT™. Check
its benchmark results—
you won’t be sacrificing
performance to save
money.”
—PC Magazine,
Editor's Choice,
February 25, 1986
“The PC’s Limited AT™
proved to he the functional
equivalent to the IBM®
product, only faster. Priced
at roughly one-third less,
it rates as one of the best
bargains available.”
—Winn L. Rosch,
PC Magazine,
February 25, 1986
“I have no qualms recom¬
mending this system to
experienced users who
need the added speed.”
—Sol Libes,
Micro/Systems Journal,
January/February 1986
iRMX
APPLICATION SYSTEM
udi c
EIOS <^~
c
RTX BIOS
<d
c
—
NUCLEUS
The hierarchy of the system allows any element to commu¬
nicate directly with tasks beneath it in the tree; elements
may not talk to higher-status elements.
The handling of some interrupt service routines is done by
making an interrupt task associated with it. The ISR gener¬
ates the data segment used later by the interrupt task.
the foundation for systems serving com¬
peting, interactive users. Systems dedi¬
cated to noninteractive applications are
typically (though not necessarily) con¬
structed entirely within a single job.
Jobs are groupings of tasks and
other logically related objects. A sys¬
tem’s jobs are linked into a tree struc¬
ture through which resources are allo¬
cated among the system’s tasks. Every
iRMX system is structured as a tree of
jobs descending from an initial root job.
Each task is associated with a particular
job and must obtain the resources it
needs from its associated job or from
one of its ancestors in the job tree.
Tasks also may create new jobs; each
new job is a descendant of its creating
task’s job in the job tree.
Every job carries with it a memory
pool and a directory of the objects it
contains. Various limits are specified
when a job is created that remain in
force throughout its life: a maximum
size for its memory pool, a maximum
number of entries in its object table,
and so on. A job’s limits apply to the
job and to all its descendant jobs.
The role played by the job hier¬
archy in partitioning system resources is
evident in iRMX’s memory management
facilities. When first created, jobs do not
receive their entire memory pools. In¬
stead, they are assigned only a desig¬
nated minimum amount, and additional
memory is allowed to migrate down the
job tree as required to satisfy runtime
requests for memory allocation.
Tasks obtain memory by making
the system call CREATE$SEGMENT to
create and allocate segment objects.
Segments are paragraph-aligned parcels
of memory that consist of enough con¬
tiguous paragraphs of physical memory
to meet a task’s request. When a task at¬
tempts to create a segment requiring
more memory than is available in its
job’s memory pool, iRMX tries to “bor¬
row” memory from the parent job. If
the parent job cannot help, attempts to
borrow continue to grandparents and
beyond, all the way to the root job if
necessary. A job retains memory it has
borrowed until it is deleted, at which
time all the memory its tasks have accu¬
mulated is returned to its parent job.
SCHEDULING AND TASKING
Each job is created with one initial task.
A task that creates a new job optionally
may pass it a token for a parameter ob¬
ject. This generality with respect to a
job’s parameters is characteristic of the
iRMX brand of object-oriented design:
the operating system does not presume
to know the internal structure, size, or
meaning of a job. The parameter object
could be a memory segment containing
operating instructions, a mailbox to be
managed by the new job, or even an¬
other job object. A job’s initial task typi¬
cally performs initialization, then
creates the required objects within the
job, including other tasks.
iRMX maintains a preemptive,
priority-based multitasking environ¬
ment. Each task’s context consists of its
stack, its containing job, and a task-spe¬
cific exception handling apparatus.
iRMX tasks may be assigned any
priority level from 0 (the highest) to
255. The task priority scheme is inti¬
mately connected with the iRMX inter¬
rupt-handling support mechanism.
Regardless of the number of tasks or
interrupting devices present in a partic¬
ular system, iRMX) associates each even-
numbered task priority between 4 and
130 with an external device interrupt;
tasks running at these priorities are
considered to be interrupt tasks. Priori¬
ties 131 through 255 are used for non¬
interrupt tasks. When an interrupt task
runs, hardware interrupts associated
with lower-priority interrupt tasks are
automatically disabled. iRMX makes the
interrupt-to-task priority association by
assuming a fixed relationship between
interrupt task priorities and locations in
the processor’s interrupt vector (shown
for PC and PC/AT hardware configura¬
tions in table 2).
Basic task management for tasks
not engaged in interrupt processing or
intertask synchronization is accom¬
plished using five system calls that
move tasks among various states.
CREATE $TASK and DELETE $TASK add
and remove tasks from the system.
Once created, a task contends normally
with other tasks for processor time
unless it enters the sleeping state, the
suspended state, or both. A task sleeps
when it makes a SLEEP system call to
remove itself from contention for the
processor for a specified length of time.
Tasks become suspended when they are
named in a SUSPEND$TASK system call;
they remain in this state until named in
a RESUME$TASK call. (A task that is
suspended more than once must be
named in a corresponding number of
RESUME $TASK calls before it begins
JUNE 1986
133
It’s too late
when you can see
that your disc drive
has problems...
ReadiScope
is your eyes and ears
inside vour disc drives.
ReadiScope is a comprehensive
diagnostic program that analyzes
the current status of a diskette
drive. It graphically displays the
alignment pattern so that
adjustments to head, spindle
hub alignment, and rotational
speed can be made in minutes
without special equipment.
■ Floppy drives, single or double
sided drives, can be tested while
installed under normal operating
conditions
■ Ideal for use by: PC Clubs;
Users with Critical Data;
Repair Shops; Multi-PC Users;
Retail Stores
Requires 48K IBM PC with one operating
drive. Uses monochrome or graphics
display. $295. including special diagnostic
diskette.
Visa, Mastercard or MO. Add $3. for
shipping. Ml residents add sales tax.
Call 616-327-9172 or send your order
now to:
ReadiWare Systems, Inc.
P.O. Box 515, Portage, Ml 49081
CIRCLE NO. 240 ON READER SERVICE CARD
iRMX
TABLE 2: Interrupt Procedure Relationships
VECTOR
NUMBER
ADDRESS
TASK
PRIORITY
8259A CONNECTION
56
EOH
18
Master 0
57
E4H
34
Master 1
80
13CH
36
Master 2/slave 0
81
140H
38 ..
Master 2/slave 1
82
144H
40
Master 2/slave 2
83
148H
42
Master 2/slave 3
84
14CH
44
Master 2/slave 4
85
150H
46
Master 2/slave 5
86
154H
48
Master 2/slave 6
87
158H
50
Master 2/slave 7
59
ECH
66
Master 3
60
FOH
82
Master 4
61
F4H
98
Master 5
62
F8H
114
Master 6
63
FCH
130
Master 7
Each location in the interrupt vector is automatically associated by RTX with an
interrupt task priority and an 8259A connection. The IBM PC has only a master
controller and no slave controller, providing 15 interrupt priority levels.
running normally again; iRMX tracks
each task’s suspension depth.) If a task
is suspended while sleeping, it remains
inactive until all blocking conditions
have been cleared.
iRMX provides tasks with a number
of informative system calls. Using the
GET$TASK$TOKEN system call, a task
can learn about itself from iRMX. In
making this call, a task can indicate that
it wants a token for itself, its job, its
job’s parameter object, or the system’s
root job. Using the GET$PRIORITY sys¬
tem call, a task can discover its own
priority or that of any other task for
which it holds an identifying token.
EXCEPTION HANDLING
The notion of exception is central to the
iRMX rules of operation. Exceptions, for
the most part, occur during system
calls, in the form of I/O errors, im¬
proper call parameters, failures to allo¬
cate adequate essential memory.
Tasks and system calls react to the
detection of exceptional conditions by
calling on iRMX’s highly structured ex¬
ception-handling mechanism. In design¬
ing a task, a designer chooses an excep¬
tion-handling method. First, he must
choose when, if ever, a task’s exception
handler is to be invoked, which is done
by setting the task’s exception mode. A
choice of the in-line exception-handling
mode indicates that a task has no
special exception handler. This is the
familiar case in which the task itself is
responsible for testing the outcome of
every system call and processing errors
if they arise. Alternatively, the designer
may specify that a designated exception
handler be invoked upon programmer
errors (improperly made system calls,
for example), environmental errors
(such as unexpected end-of-file when
reading from disk), or both.
If a task does not call on
SET$EXCEPTION $HANDLER to set its
own exception mode and handler, it re¬
ceives by default the exception handling
apparatus of its containing job. If no
mode was specified when the job was
created, the job and its tasks inherit a
default, iRMX-supplied exception
handling strategy that simply suspends
or deletes any task causing an exception
of any kind. Tasks can discover which
exception apparatus they have estab¬
lished (or inherited) by using the
GET$EXCEPTION$HANDLER call.
When iRMX invokes an exception
handler, it passes to the handler codes
that describe the exception and, in the
case of exceptions arising from improp¬
erly used system calls, an indication of
which parameter to the system call was
in error. The systems designer can
choose whatever strategy he deems
appropriate for dealing with exceptions.
In extreme cases, he may choose to
eliminate the offending task entirely, by
deleting it. Under other circumstances,
he might log the error, ignore it, or at¬
tempt to correct the conditions that led
to the exception. He also has the op¬
tion, which is especially attractive dur¬
ing system development and testing, of
establishing the iRMX debugger as the
exception-handling routine for either
some or all system tasks.
134
PC TECH JOURNAL
More Answers from CXI
# 12 .
Howto get
mainframe data to
your remote PCs.
PCQX 3270remote
connections.
Now if your PCs are located out of town,
they needn’t be out of touch.
Because not only does CXI have more
remote micro-to-mainframe connections to
choose from; we have more cost-effective
ones as well.
Fbr example, all our remote products
connect via modems. And emulate IBM®
Or, for multi-session performance,
there’s our PCOX/3270 PC REM0TE™It lets
you work with up to five host sessions,
two notepads and a PC session.
What’s more, just by adding new software,
you can add new features like our remote
gateway for LANs.
So for the name of your nearest CXI
distributor, call (800) 225-PCOX. In Cali¬
fornia, call (415) 424-0700. r Ifelex: 821945.
Or send us the coupon. And let us turn
these remote possibilities into
iRMX
Interactive &A Q 95
DOS Utility
Resident program gives you
instant access to many
enhanced DOS functions
and instant return to where
you were.
* Reduce time searching for your
files and performing DOS
commands. See up to 85 fifes per
screen page, identify sub-directories at a
glance. Get quick and easy display of
contents.
* Make your DOS commands
easier to use. Pop up windows simplify
DOS operations, utilize single keystroke
commands, return you instantly to where
you left off.
* Take full control of your printer.
Call up printer output window from inside
any program and give necessary printer
commands.
“WindowDOS quickly established itself as an
Indispensable part of my PC environment / can't
imagine working without it ."
Paul Bonner, Reviewer , PC Week
Plus $5 handling and shipping
Money orders, cashier's checks, VISA, MC,
AmEx, and Corporate Purchase Orders.
Software of the Future
Box 531650 Grand Prairie, TX 75053
WindowDOS is for use with IBM PC, XT, AT and true
compatibles. Requires DOS 2.0 or newer and 80 column display.
Uses only 40K of memory.
CIRCLE NO. 127 ON READER SERVICE CARD
136
SYNCHRONIZATION
All intertask synchronization under
iRMX is modeled in terms of tasks
exchanging or sharing something. Ex¬
changes are accomplished using objects
of type semaphore and mailbox; sharing
is controlled using regions. Like other
objects, exchange objects and regions
may be dynamically created or
destroyed, as required.
Semaphore objects implement the
well-known, general-purpose Dijkstra
synchronization primitives. An applica¬
tion creates a semaphore as the custo¬
dian of some number of abstract units,
usually corresponding to events or re¬
source units in the application domain.
Tasks send units to a semaphore (signal
or post) using the SEND$UNITS system
call; they request units from a sema¬
phore (wait) by calling RECEIVE$UNITS.
Tasks calling RECEIVE$UNITS spec¬
ify the number of units they wish to re¬
ceive. If all the requested units are not
present in the semaphore (or if other
tasks are waiting ahead of the caller)
the calling task is queued up to wait,
either on a hrst-come, first-served basis
or by task priority relative to other wait¬
ing tasks. Queuing treatment is deter¬
mined by a configuration option that is
set at the time a semaphore is created.
In addition to the number of units
they seek, calling tasks specify the
amount of time they are willing to wait
if their request cannot be satisfied
immediately. The specified waiting time
can range from zero (give up immedi¬
ately if the requested units are not
there) to infinity (wait as long as
necessary to get them).
Mailbox objects are used to me¬
diate the transfer of messages across
task boundaries; tasks obtain access to
mailboxes by calling SEND$MESSAGE
and RECEIVE$MESSAGE. Instead of a
semaphore’s abstract units, tasks com¬
municating via mailboxes send and re¬
ceive messages that can be iRMX objects
of any type. Each mailbox contains an
object queue into which messages sent
when no receiving task is waiting are
placed. Object queues are managed on
a strict FIFO basis.
As with semaphores, a task that
creates a mailbox specifies whether
tasks waiting at mailboxes are to be
queued by arrival order or by task
priority. Tasks attempting to receive
messages have the same options that
those receiving semaphore units have:
they can choose whether or not to wait
at an empty mailbox and, if they choose
to wait, for how long.
iRMX maintains object queues in
two parts: high-performance and over¬
flow. The size of a queue’s high-per¬
formance part is specified by the creat¬
ing task at the time a mailbox is
created. Messages passed through a
mailbox while its object queue is small
enough to be contained entirely in the
high-performance part are processed
quickly because they move through
memory that is permanently allocated
in association with the mailbox. When
an object queue overflows its high-per¬
formance part, iRMX allocates additional
memory from the mailbox’s containing
job to accommodate the overflow.
Overflow processing slows message¬
passing down somewhat, but allows
message queues to grow until all a job’s
memory is exhausted. The high-per¬
formance/overflow structure of object
queues relieves the designer of the re¬
sponsibility for establishing a fixed max¬
imum size for each of a system’s inter¬
task data queues.
Applications designers can exploit
iRMX’s fully general treatment of inter¬
task data flows through mailboxes. Be¬
cause any object’s token can be sent via
a mailbox, the same mailbox can be
used to pass memory segments, jobs, or
even other mailboxes from one task to
another. After a particular RECEIVE $-
MESSAGE call, a task receiving a mes¬
sage from such a mailbox can use iRMX
object management facilities to deter¬
mine the type of object it has received
and tailor processing accordingly.
Although iRMX semaphore objects
can meet any synchronization require¬
ment that might arise in an application,
iRMX provides another standard synch¬
ronization object—the region object.
Tailored to perform the synchronization
activities required when two or more
tasks share a data area, region objects
are useful when two or more concur¬
rently executing tasks share a data area
that may be modified by one or more
of the cooperating tasks.
Synchronization is required when
tasks share a common data area, to pre¬
vent the reading of inconsistent, corrupt
information that can result when one
task changes a data area while another
is in the midst of reading it. The situa¬
tion is avoided by coding each task that
reads or writes a shared area in order
to bracket its use of the area with sys¬
tem calls to gain (RECEIVESCONTROL)
and release (SEND$CONTROL) control
of the area’s associated region object.
Used in this way, regions guarantee mu¬
tual exclusion and eliminate the possi¬
bility of tasks reading corrupted data.
iRMX designers chose to provide
regions as well as semaphores because,
although they can be used to accom-
PC TECH JOURNAL
For you, good is just not good enough,
INTERNATIONAL
SALES OFFICES
Australia:
Fagan Microprocessor Assoc.
Phone: (61)3699-9899
Canada: Scantel Systems
Phone: (416) 449-9252
England: Grey Matter, Ltd.
Phone: (44) 364-53499
Italy: Lifeboat Assoc., S.p.A.
Phone:(02) 656-841
Japan: Lifeboat Japan
Phone: (03) 293-4711
Spain: Micronet, S.A.
Phone:(34) 1-457-5056
The Netherlands:
GIGA Computer Products
Phone:(31)10-771846
SCOS Automation BV
Phone: (31) 20-106922
Lifeboat
55 South Broadway
Tarrytown, NY 10591
For serious programmers, good isn't good enough. You need the best
...the best tools, the best advice and the best support.
At Lifeboat, we've been selling to programmers since 1976, so we
know quality when we see it. And we're committed to a full-service
program that goes beyond just selling you the best software at
competitive prices. Our expert staff can help you decide which
programs are best for your needs and provide you with all the
technical support you may require. You can rely on Lifeboat for the
complete solution to your programming needs.
LANGUAGES
Lattice C New 3.0 Version
The best selling C Compiler has been
upgraded to give you more functions and
features. Lattice C 3.0 contains 200 new
library functions, better code generation,
support for new data types (void, enum, un¬
signed char, unsigned long), support for the
80186/80286 instruction set and the ability to
generate in-line 8087/80287 instructions.
Lattice C is the C Compiler for professional
developers.
RUN/C—The C Interpreter
Upgraded Version
Learn C the natural way with RUN/C. The
user interface is similar to BASIC with easy
familiar commands. The new 2.0 version of
RUN/C comes with a full-screen editor and
other enhancements.
RUN/C Professional New
All RUN/C's capabilities plus powerful
features for program development. Load your
favorite object libraries with RUN/C Profes¬
sional. Contains a full-screen editor and
source code debugging facilities.
Mark Williams
C Programming System
A complete C development environment.
Pro Pascal
A truly standard Pascal. Produces fast, tight
code with plenty of compile time options and
simple one-line commands.
BetterBASIC New Version
Now you can program in BASIC and use the
full memory of your PC, create structured
programs using functions and procedures,
make your own library modules and more.
Now compatible with Microsoft BASIC.
LANGUAGE UTILITIES
Plink86 Plus
An overlay linkage editor for linking
8086/8088 object modules. Supports an
unlimited size file, unlimited number of
modules and up to 4095 hierarchical overlays
stacked as many as 32 levels deep. Plink86
Plus contains new features for memory
caching, library allocation, file merging and
overlay reloading.
Pfix86 Plus
A symbolic and source level advanced
debugger for programming professionals.
The names of products listed are generally the trademarks of the sources of the
products.
© 1986 Lifeboat Associates
C-SPRITE
Symbolic debugging at both source level and
machine level. Monitor your program by
setting breakpoints, examining registers and
variables, or single-stepping through code.
Handle a set of commands as a macro.
C-SPRITE and the Lattice C Compiler are
a natural pair for program development
and debugging.
BASTOC
A BASIC to C translator for the BASIC
programmer who wants to upgrade to C.
EDITORS
LSE
A powerful yet inexpensive full-screen editor
designed for efficiency and ease of use. Its
speed is optimized by writing directly to video
memory. The Lattice Screen Editor provides a
multi-window environment, ability to repro¬
gram keys, support for keyboard macros, an
undo command, an error tracking mode,
on-line help and more.
VEDIT Plus
A full-screen text editor for program
development and word processing. It contains
-powerful features including use of macros,
on-line help facility, paragraph formatting,
and file comparison.
Pmate
The programmer's editor with an extensive
macro command language. Compile in the
background while you continue to edit files.
EMACS
Customizable editor including windowing,
multi-tasking and special modes for C
and Pascal.
FUNCTIONS
C-Food Smorgasbord
Library of time saving utility functions
including a BCD package, an IBM PC BIOS
interface, level 0 I/O functions, a terminal
independence package and more.
Essential C Utility Library
Over 300 functions, with special attention
given to screen handling, windows and
business graphics. Source code is included.
PforCe Brand New
An optimized library of an impressive 400 plus
functions and subsystems. Included is a
window management system with overlap¬
ping or tiled windows and a database system
with B-tree file structure. Several pre-coded
screens including "Lotus" style are supplied.
And there's much more! Routines for interrupt
driven communications, background tasks,
and string/table parsing, along with functions
for field/screen editing and validation are all
part of this superbly written and documented
software. Complete source code is included.
The Greenleaf Comm Library
A library of over 120 communication routines.
Contains functions to create interrupt driven
routines or perform direct I/O to multiple
Comm Ports. Its strengths are in asynchro¬
nous communications, interrupt mode, mo¬
dem control, XMODEM, XON/XOFF and flow
control. Interfaces with Lattice, Microsoft,
Wizard, Desmet, Cl 86, Aztec and Mark
Williams C compilers.
The Greenleaf Functions
A mature library of over 200 functions.
Version 3.0 offers all new indexed docu¬
mentation, with an abundance of examples.
Source code included.
GRAPHICS and
SCREEN DESIGN
GSS*CGI GRAPHICS New
The GSS Computer Graphics Interface is
designed for creating high performance
graphics-based applications. GSS*CGI speeds
up application development and provides
compatibility with a wide range of peripherals.
It's the only CGI implementation that provides
true device-independence for both raster and
vector graphics. Language bindings are
available to support development of GSS*CGI
based applications using Lattice C, Microsoft
C, FORTRAN, Pascal, BASIC Compiler and
Macro Assembler. Products in the GSS*CGI
GRAPHICS line include the GSS Graphics
Development Toolkit, the GSS Kernel System,
the GSS Plotting System and the GSS
Metafile Interpreter.
Essential Graphics New
A brand new graphics library for C
programmers with the emphasis placed on
ease of use and portability. No royalties.
Multi-Halo
Library of over 200 graphics functions,
supporting all of the popular graphics boards.
Panel
A powerful tool for interactive screen design.
For more information on these and other
products in our complete line call:
1-800-847-7078 In NY: 914-332-1875
i aeon at
The Full-Service Source for Programming Software.
CIRCLE NO. 144 ON READER SERVICE CARDI
iRMX
plish mutual exclusion, semaphores
leave a system vulnerable to some
potentially harmful effects. For example,
a task that obtains control of a resource
by consuming a semaphore’s single unit
can tie the resource up forever if it is
suspended or deleted while still hold¬
ing control of the unit. This cannot
happen with regions because iRMX
automatically defers any attempt to
suspend or delete a task until it releases
any regions it holds.
Regions also address a more subtle
weakness that arises from the use of
semaphores for mutual exclusion. Using
semaphores, a high-priority task that
requests control of a resource held by a
low-priority task must wait until the
low-priority task releases the sema¬
phore. This delay is inherent in mutual
exclusion and is unavoidable. If a task
of intermediate priority preempts the
low-priority task, however, the waiting
high-priority task must sit idle until the
intermediate task suspends and allows
the low-priority task to continue exe¬
cuting. This additional delay can be
considered excessive because it need-
UNIX™ COMPATIBLE
COMMANDS FOR DOS
Percent $95
If you've used UNIX,™ you are probably frustrated by the
limitations of your IBM-PC software. Percent brings UNIX-
compatible commands to your IBM-PC, XT, or AT computer.
Percent is Compatible.
Percent Commands support a
wide range of options and do
UNIX™ compatible filename
expansion, command substi¬
tution, variables and quoting.
Percent Works with DOS.
All your MS-DOS™ software,
even your favorite editor, will
run under the Percent Shell
without modification.
Percent Provides More.
Percent gives you command his¬
tory, aliases, and instant help.
Use / or \ in filenames, even for
your existing commands.
To Order.
Send a check for $95 U.S., or
use VISA/MC. If you have ques¬
tions, please call. We would like
to send you more information.
Thompson
Automation
Commands
grep, fgrep - search files for patterns,
diff - compare files, print differences.
Is,II - sorted directory listing.
pr - format files for printing.
mv - move files or directories.
cp - copy files or directories.
rm - remove files or directory trees.
cat - type or concatenate files.
head - print first few lines of file.
tail - print last few lines of file.
cu - communicate with another computer.
encode, decode - cu binary files.
Not to mention...
chmod, df, echo, mkdir, rmdir, wc, split,
mkuser, tee, touch, pwd, test, printenv.
Shell Internal Commands:
if/then/else/fi - conditional execution,
for/do/done - iterative looping,
while/do/done - conditional iteration,
set, =, shift, export - shell variables,
alias, unalias - command macros,
dirs, pushd, popd - directory stack,
history - print history of commands.
! - re-execute a previous command,
which - find executable command,
read - read a variable from the input.
Percent Commands (execept shell
internal commands) may be called from
the Percent Shell or directly from DOS.
PO Box 5163
Beaverton, OR 97006
Phone (503) 645-9434
UNIX is a trademark of AT&T Bell Laboratories. MS-DOS is a trademark of Microsoft
Corporation.
CIRCLE NO. 178 ON READER SERVICE CARD
lessly holds up the high-priority task
while the intermediate task continues in
its unrelated processing.
iRMX eliminates delays of this sort
when regions are used by automatically
elevating the priority of a task holding a
region to equal that of the highest
priority task waiting for the region. If
another task arrives, the priority is
raised again. When a task releases a
region, its original priority level is auto¬
matically restored.
Regions can be configured (at the
time they are created) to queue waiting
tasks in either arrival order or task-
priority order. Tasks requesting control
of a region can do so in one of two
ways. They can call ACCEPT $CONTROL
either to gain control or to receive
immediate notification that the region is
busy, or they can call RECEIVE $-
CONTROL, which waits as long as nec¬
essary to gain control of a region. Un¬
like its semaphore-manipulating coun¬
terpart, RECEIVE $CONTROL does not
allow the calling task to specify a time
interval after which it is to give up.
INTERRUPT MANAGEMENT
From a software architect’s point of
view, the IBM PC’s 8259A interrupt con¬
troller device (or pair of devices in the
AT’s case) provides two important inter¬
rupt management services. First, as con¬
figured by iRMX, it imposes a priority
ordering on the PC’s interrupting
devices. Second, it allows the selective
masking of any hardware interrupt.
A device’s interrupt priority, or
level in Intel parlance, determines the
treatment its interrupt service routine
(ISR) gets when interrupted by another
device before its processing of a first in¬
terrupt is complete. If the newly inter¬
rupting device lies at a higher priority
level than the running ISR’s device, a
nested interrupt is allowed to occur,
and control is vectored immediately to
the new device’s ISR. If it lies at an
equal or lower priority level, the sec¬
ond interrupt is deferred until the first
ISR issues an end-of-interrupt (EOI) in¬
struction to the interrupt controller.
Most PC realtime systems are built
to cooperate with the PC’s standard ap¬
proach to nested interrupt management
(those that switch to a special interrupt
stack, for example, must keep track of
interrupt nesting so they do not switch
to the stack when it is in use). Most do
not rely upon or make use of the
8259A’s ability to mask off specific inter¬
rupts. As a consequence, most realtime
systems accept interrupts any time a
task is running, in effect giving every
ISR priority over the system’s highest
138
PC TECH JOURNAL
3 g
O- o
pr: 3^ S
9 3 §
d f S-
lie
On 5 n>
° 8
tl’g
05 n ^
sr 6i P.
g. B* 8
2,
g 3 ^
-3 2?
cn c
O O
o t/5
P.'C
rl
p
Sr*
fD
. 05
05
O
tr
o
NO POSTAGE
NECESSARY
IF MAILED
BOULDER CO 80321
priority task. iRMX is unique in that it
uses the 8259A’s interrupt masking
capability to place task priorities and
(hardware) interrupt levels in the same
priority space. Under iRMX, it is possi¬
ble to run tasks at priority levels high
enough to take precedence over some
or all hardware interrupt processing; a
running high-priority task can block the
execution of lower-priority ISRs.
In designing an interrupt service
procedure for a multitasking system, a
programmer must choose among sev¬
eral strategies. If the device’s interrupts
can be dismissed quickly, the job of ser¬
vicing the device can be performed
within an interrupt service routine
(ISR). In this case, the device’s ISR con¬
tends for processing time only with the
ISRs of higher-priority devices. If more
time-consuming work is required, or if
potentially suspending system calls must
be made in the course of processing an
interrupt, it is best to code a minimal
ISR that runs just long enough to signal
a task, and allow the task to complete
the rest of the processing.
iRMX can provide comprehensive
support for interrupt-handling tasks by
employing the 8259A interrupt control¬
lers’ ability selectively to mask interrupt
levels. Tasks that identify themselves to
iRMX as interrupt tasks get special
treatment from the scheduler: when an
interrupt task is activated by its com¬
panion ISR, the interrupts of all lower
priority devices are automatically dis¬
abled and are held off until the task has
finished its processing. The task is thus
assured freedom from interruption
from lower priority devices.
The PC is equipped with a single
8259 device that provides eight levels of
interrupts; the AT has two that, com¬
bined, provide 15 levels. The general
8086-family of processors can be con¬
figured with as many as eight interrupt
control (8259A) devices slaved to a
single, master controller. Each slave
provides eight independently controlla¬
ble interrupt priority levels—for a maxi¬
mum of 64. In interrupt processing,
RTX creates a direct relationship be¬
tween interrupt priority level, interrupt
vector location, and interrupt task
priority (refer to table 2).
A task installs an entry in the sys¬
tem’s interrupt vector by making the
iRMX call SET$INTERRUPT. This call can
install a simple ISR, or, optionally, es¬
tablish the calling task as the installed
ISR’s companion interrupt task.
If it establishes itself as an interrupt
task, a task inherits special properties
and gets special treatment from iRMX. It
is immediately assigned an execution
priority that corresponds directly to the
interrupt priority level of its device. It
also becomes more restricted in its
activities than would a general-purpose
task. Once it has made itself an inter¬
rupt task by calling SET$INTERRUPT, a
task must confine itself strictly to the
business of processing interrupts: wait¬
ing for a signal from its companion ISR,
processing the interrupt, and looping to
await another interrupt. A task remains
under these restrictions until it calls
RESET$INTERRUPT, which dismantles a
device’s interrupt processing apparatus
by disabling its interrupt level, remov¬
ing its ISR from the interrupt vector,
and deleting the calling task.
ISRs with companion interrupt
tasks communicate with them using the
two system calls. The task calls
WAIT$INTERRUPT to await a signal from
the ISR, which calls SIGNAL$INTERRUPT
to activate the task. In a busy environ¬
ment, an ISR may be activated and call
SIGNAL$INTERRUPT many times before
its companion task gets a chance to run.
When it first establishes itself via a
SET$INTERRUPT call, an interrupt task
C-terp
TheC
Interpreter
You Won't
Outgrow
C-terp will grow with you as you progress
from novice through professional to guru.
Unbelievable, but true, the easiest-to-use
C interpreter will provide you with the
most advanced programming features for
upward growth. Our exclusive object
module support enables you to add
libraries (like HALO, PANEL, Windows for
C, etc., or your own homebrew libraries)
to C-terp as you add them to your comput¬
ing repertoire. Use C-terp as a microscope
on your libraries! Flip a bit and allow our
software paging (NEW) to handle those
big jobs! There are no fixed-size, tables
to overflow, and C-terp can be configured
for different screens and screen adapters
(NEW). With multiple modules and full
K&R support, we offer a dream C environ¬
ment.
• Our new improved configurable editor
competes with anything going.
• Speed -- Linking and semi-compilation
are breathtakingly fast.
• Convenience -- Errors direct you back
to the editor with the cursor set to the
trouble spot.
• Symbolic Debugging-- Set breakpoints,
single-step, and directly execute C ex¬
pressions.
• Compatibility guaranteed - batch file to
link in your compiler's entire library.
Supported compilers include:
Computer Innovations C86, Lattice C,
Microsoft C 3.0, Mark Williams C86, and
Aztec C.
• Many more features including batch
mode and 8087 support.
What Our Users/
Reviewers Are Saying
"... easy to use, powerful, and a
timesaver.''
"... we absolutely LOVE C-terp."
"... has restored my faith in
interpreters."
"... a programmer's dream."
"... wonderful technical assistance."
"... increased our productivity by a
factor of 40."
.. the best C product ever, in any
category."
• Price: $300.00 (Demo $45.00)
MC, VISA
Prices include documentation and shipping
within U.S. PA residents add 6% sales tax.
Specify compiler.
• C-terp runs on the IBM PC (or any BIOS
compatible machine) under DOS 2.x
and up with a suggested minimum of
256 Kb of memory. It can use all the
memory available.
• C-terp is a trademark of Gimpel Software.
lOW §®IF0!«
3207 Hogarth Lane • Collegeville, PA 19426
(215) 584-4261
JUNE 1986
139
iRMX
Made To Be Broken
If you’re using Turbo Pascal, Turbo Extender
is the software you need to break the 64K
barrier. Now write programs as long as you
need, limited only by available RAM.
LARGE CODE MODEL
Write programs using all 640K without
overlays or chaining. Convert existing
programs with minimal effort. Offers
advanced dynamic binding or standard
EXE files.
MAKE FACILITY
Offers separate compilation. No starting from
scratch for source code changes.
LARGE DATA ARRAYS
Automatically manages data arrays up to
30 megabytes, as well as arrays stored in
expanded memory.
ADDITIONAL TOOLS
Overlay Analyst, Disk Cache, Pascal
Encryptor, Shell File Generator, and File
Browser.
TURBO EXTENDER
Includes 2 DSDD disks, complete source
code, 150 page printed manual. Requires
Turbo Pascal 3.0 and PCDOS 2.x or 3.x.
Runs on IBM PC/XT/AT and compatibles.
Call for MSDOS support. $85 COMPLETE.
ALSO AVAILABLE
TURBOPOWER UTILITIES
Bruce Webster, in BYTE Magazine, February
1986, named it Product of the Month, saying
“If you own Turbo Pascal, you should own
TurboPower Utilities, that’s all there is to it. ”
It offers 9 programs in all, including the
Program Structure Analyzer which locates
subtle coding problems the compiler fails to
catch. It also produces reports that describe
your code, providing cross reference and
hierarchy diagrams. Also includes Execution
Timer, Execution Profiler, Pretty Printer,
Command Repeater, Pattern Replacer,
Difference Finder, File Finder and Super
Directory.
TURBOPOWER UTILITIES
Come compiled, ready to use. Includes
manual, reference card, threb DSDD disks,
complete source code. Requires Turbo
Pascal 2.0 or 3.0. $95 with source code;
$55 executable only.
GET BOTH TURBO EXTENDER AND
TURBOPOWER UTILITIES (Source) $149
MC/VISA CALL TOLL-FREE 7 days a week
800-538-8157 x830 (CA)
800-672-3470 x830 For PO, COD,
Dealers, Info, Brochures - call or write:
478 W. Hamilton #796
Campbell, CA 95008
(408) 378-3672 M-F
9AM-5PMPST
INTERNATIONAL REPRESENTATIVES
Switzerland: Software Haus 064-512651
Japan: Southern Pacific Ltd. 045-314-9514
Norway: Polysoft 03-825275
England: Grey Matter Ltd. 0364-53499
Australia: Videogram Communications 02-627-1261
CIRCLE NO. 193 ON READER SERVICE CARD
specifies the maximum number of un¬
processed SIGNAL$INTERRUPT calls that
iRMX should allow to accumulate be¬
fore disabling the task’s associated inter¬
rupt level. If a device gets too far ahead
of its task, iRMX applies this automatic
throttling to the device by disabling its
interrupts until the interrupt task has
run and called WAIT$INTERRUPT, and
thus has reduced the count of outstand¬
ing interrupt service requests.
ISRs and interrupt tasks can com¬
municate data and control information
through a shared data segment. ISRs
with companion tasks have the option
of causing the iRMX system to call
ENTER$INTERRUPT when they are acti¬
vated. ENTER$INTERRUPT loads a data
segment that is shared with the inter¬
rupt task (see figure 2). Whether or not
they share data with an interrupt task,
ISRs must call EXIT$INTERRUPT before
returning. EXIT$INTERRUPT sends an
end-of-interrupt signal to interrupt con¬
trol hardware and allows interrupts of
equal and lower priority to resume.
ISRs can call only on a highly re¬
stricted set of system calls. iRMX thus
enforces its guideline that interrupts re¬
quiring substantial processing be ser¬
viced by an interrupt task instead of by
a simple ISR. An ISR cannot, for exam¬
ple, refer to semaphore or mailbox ob¬
jects; all interaction between an ISR and
system tasks must be achieved indirectly
by the ISRs companion task. This is a
departure from the common approach
to ISR/task communication—most multi¬
tasking systems permit ISRs to make
(nonsuspending) system calls, such as
posting units to a semaphore, in order
to synchronize with tasks.
EXTENSIONS TO iRMX
A systems architect willing to undertake
operating system-level implementation
can expand iRMX in two important
dimensions. New system calls— operat¬
ing system extensions —can be imple¬
mented and new object types— exten¬
sion objects —can be added to the iRMX
repertoire. Operating system extensions
can be called by application tasks
through the interrupt vector. iRMX
reserves the last 32 interrupt vector lo¬
cations for use in calling operating sys¬
tem extensions (the extension mecha¬
nism allows the addition of a virtually
unlimited number of system calls, by
multiplexing the use of the 32 vectors).
Operating system extensions. To create an
operating system extension, a systems
builder must provide two components:
an interface procedure and a function
procedure. Interface procedures are
linked with application jobs; they collect
the system call’s parameters in a suit¬
able form and execute the extension’s
assigned software interrupt. The func¬
tion procedure sits on the “other side”
of the interrupt; it receives control from
the interface procedure and performs
the work that is necessary to the func¬
tion of the system call.
Because they are accessible via the
interrupt vector, it is not necessary to
combine function procedures, using the
object module linker, with the applica¬
tion jobs that use them. Function proce¬
dures run with privileges not available
to application code. They can, for exam¬
ple, make objects immune to deletion
using the DISABLE $DELETION call.
However, they inherit additional
responsibilities along with the privi¬
leges. Extensions should be constructed
to participate in iRMX’s exception
reporting and handling scheme just as
standard system calls do. Intel recom¬
mends that, before invoking a system
call’s function procedure, an extension’s
interface procedure save the calling
task’s exception handling address and
mode and substitute its own. By inter¬
posing its own exception management,
an extension can appropriately hide,
filter, modify, or pass along exceptions
that its function procedure provokes in
the course of processing an application
task’s request. The interface procedure
is responsible for restoring the calling
task’s exception handling apparatus
before returning control to the task.
Extension objects. With system calls
CREATE$EXTENSION and CREATE $-
COMPOSITE, iRMX supports the crea¬
tion of new object types in addition to
the Nucleus’s eight built-in types.
CREATE $EXTENSION returns a token
that is, in effect, a license to create
objects of a new type. CREATE $-
COMPOSITE actually creates new
objects, building them as compositions
of other objects. By building composites
of composites, objects of arbitrary
complexity can be constructed.
To support a new object type, a
system must provide a type manager
module , consisting of an initialization
part and a service part. The initialization
part creates the new object type and
establishes a mailbox to which the new
objects can be sent for deletion when
their owning jobs are deleted. The ser¬
vice part, which may or may not contain
operating system extensions, provides
the primitive functions by which
application tasks are able to create and
manipulate the new objects.
Several reasons might influence a
designer choosing to implement new
iRMX objects instead of simply building
sp®
140
PC TECH JOURNAL
ONCE IN A LIFETIME A NEW PRODUCT APPEARS ON
THE HORIZON THAT SHINE ABOVE ALL OTHERS
THE CREATOR™
' APPLICATION GENERATOR
by Advanced Development Technologies
v ‘ ★ FOURTH GENERATION PRODUCTIVITY
* ELIMINATE DATABASE MANAGMENT SYSTEMS
* A COMPLETE APPLICATION
GENERATION ENVIRONMENT
★ DEVELOP APPLICATIONS IN LESS TIME
♦ REDUCE CODE REQUIREMENTS
BY 90 PERCENT • ,
i,
★ TRAPS ERRORS WITH DETAIL ANALYSIS
MULTIPLE FILE ACCESS '
WITHOUT PROGRAMING
★ 99 INDEXES PER DATA FILE .
★ AUTOMATIC RECORD LOCK
★ UNLIMITED FILE AND
RECORD SIZE
★ PRODUCES COMPLETE
DOCUMENTATION
Internal Expression Compile
Relational File Structure
ISAM File Access Method
Screen and Report Generator
Rich Library of Functions
Data Dictionary
System and User Defined Variables
$99
MASTERCARD/VISA
For Only $99 The CREATOR™ Lets You Develop
Applications Without Being Bogged Down By
• ' . j * • * A Lot Of Code. Regardless Of How Simple Or
. : x Sophisticated The Applications, Save Hundreds Of
/" ' Hours Of Programing By Using This Advanced Method
• ' Of Application Development. Manages All Phases Of
Program Development:
• Program Generation • Database Defination •
• Screen And Report Formation • Multiple Levels of Menus.
A Complete Development System Available For IBM, PC, XT,
and AT Requires 256K RAM Includes Unlimited Run Time
800-528-6060
EXT. 239
CHECKS AND MONEY ORDERS ACCEPTED
m 0
®THE CREATOR™ IS A TRADEMARK OF
ADVANCE DEVELOPMENT TECHNOLOGIES
2720 N. 68th St., Suite 5379
Scottsdale, Arizona 85257 . ibmpc.xt. ah. a
QA C 1 OTC , Copywright of International
* wVyfc" 7 4J" I V/ J Business Machines, Inc.
CIRCLE NO. 190 ON READER SERVICE CARE
iRMX
At last! - Fast, On-screen
FLOWCHARTS
And Organization Charts
Finally! An on-screen flowchart proc¬
essor that knows about flowcharts and
organization charts - not just another
“screen draw” program that makes you
do most of the work.
Interactive EasyFlow is a powerful
full-screen graphics program dedicated
to flowcharts and organization charts.
With this program you can quickly com¬
pose charts on the screen. More im¬
portant, you can easily modify charts so
they are always up to date.
Features: • Text is automatically
centered, character by character, within
shapes as you type it • Text formatting
controls allow you to over-ride the auto¬
matic formating where desired • Lines
are created by specifying the starting
and ending points - the program auto¬
matically generates the route • Power¬
ful editing facilities allow shapes and
even entire rows and columns of shapes
to be inserted or deleted; lines are auto¬
matically re-routed as necessary
• Large chart size (up to 16 shapes
wide by 16 shapes high) allows very
large flowcharts and organization charts
to be handled with ease • Charts can be
larger than the screen - the window into
the chart scrolls both horizontally and
vertically as necessary • Flexible print¬
er interface allows it to work with all
printers, not just dot matrix printers.
Wide charts can be printed in strips Also
works with Hewlett-Packard 7475A (and
compatible) plotters • Twenty standard
flowcharting shapes included • Com¬
mon shapes supplied in three sizes
• Extensive manual (125 pages) in¬
cludes many examples • Context
sensitive “help” facility provides im¬
mediate assistance at any time • Any
number of titles can be placed on a chart
• Commentary text blocks can be
placed anywhere in the chart • Fast:
written in 8088 assembler • Plus many
more features than we can mention
here.
Requires at least 256K memory, DOS-2
or higher and an IBM or Hercules com¬
patible graphics card.
Order direct for only $149.95 + $2.00
S&H (USA/Canada), $10.00 (foreign).
Payment by MO, check, VISA, COD or
Company PO. Rush orders accepted
($15.00 S&H; USA/Canada only). Rush
orders received by noon will be delivered
the next business day (to most
locations).
The sample screen display shown below is typical of
what you see while editing a chart. Other screen dis¬
plays are provided for entering titles, changing
options, getting “help” and so on.
STATUS BAR (not to be
confused with a wet bar) tells
you what Interactive EasyFlow
is doing at all times. \
TEXT/MESSAGE
WINDOW used to enter
user text and to display
messages from Interactive
EasyFlow.
CURRENT SHAPE
WINDOW - shows the
content of the current
flowchart shape (the one
under the SHAPE
CURSOR) in complete
detail.
HavenTree Software Limited
P.O. Box 1093-N
Thousand Island Park, NY 13692
(613) 544-6035 ext 48
CIRCLE NO. 113 ON READER SERVICE CARD
CHART WINDOW gives an overview of your chart; this
example shows the “normal” view. “Close-up” view shows a
smaller part of the chart in more detail. “Wide-angle” view
shows a larger part of the chart at reduced size.
SHAPE CURSOR shows where you are in
the chart. Cursor keys move it around; chart
window scrolls if you run off the edge of the
window.
an application to create and manage,
without the operating system’s coopera¬
tion, its own functional modules or data
structures. Extension objects can simpli¬
fy and standardize the view of systems-
level function that is presented to appli¬
cation programmers. The same rules
that application builders have learned
to observe for passing standard iRMX
objects through mailboxes, for example,
apply to extension objects.
Extension objects simplify the job
of the systems designer as well, by pro¬
viding well-defined interfaces for crea¬
tion, deletion, and communication of
objects among tasks. A designer imple¬
menting a “ring buffer” object for use
in an application, for example, need not
start from scratch in designing an appli¬
cation interface for the new structures.
Instead, he can model the set of calls
for manipulating ring buffers after
iRMX’s calls for manipulating mailboxes.
I/O SUPPORT SUBSYSTEMS
The RTCS adaptation of iRMX for the AT
is configured with both iRMX optional
I/O support layers present. Application
programs use the services of the BIOS
and EIOS by making system calls. Al¬
though the extended system logically
sits on top of the basic system, applica¬
tions can call directly to either layer.
Together these two support layers
provide a full complement of function,
including buffered, device-independent
I/O, and management of hierarchical
systems of named directories and hies.
Applications requiring flexible, high-
performance, no-frills I/O service can
call directly on the BIOS to perform
asynchronous, unbuffered I/O. Those
that can afford more processing over¬
head can take advantage of the less
flexible, but easier to use EIOS.
Device drivers in an iRMX system
are considered logical parts of the
BIOS. RTX includes drivers for the
system console (keyboard and display
device), floppy- and hard-disk drives,
printer, and serial I/O ports. In current
releases, applications interface to the
PC’s graphics adapters is not provided.
The BIOS device drivers form the
bottom layer of an interface that, from
an application task’s viewpoint, provides
device-independent access to system de¬
vices. Before using an I/O device, a task
must call on the I/O systems to estab¬
lish two connections. First, a device
connection is established by RTX at sys¬
tem initialization; it attaches a logical
name and a logical device object to a
particular device’s driver. Because it
must name a physical device, a task es¬
tablishing a device connection (that is,
142
PC TECH JOURNAL
FIVE
TERRIFIC
REASONS
TO TRY
TAPESTRY
NOW
No matter what local area nelwork hard¬
ware you choose-your next choice
should be Tapestry networking software
from Torus Systems. Here's why.
1 IBM chose Tapestry for its over¬
seas market and it quickly became
the hottest LAN system in Europe.
This is the friendly screen that caught
Big Blue's eye.
2 It's the world's easiest-to-use
networking software -much
simpler than Novell, 3Com, or IBM
because Tapestry is managed with
icons. To use it, you just point to graphic
symbols: the "in-tray" to get mail, the
"cabinet' to access files, and so on.
You even use icons to configure the
system, so almost anyone can set up a
Tapestry nelwork-and keep it running
smoothly.
3 Tapestry is the most complete
LAN software money can buy.
The basic system gives you:
• Advanced electronic mail
Compose memos with the Torus text
editor. Send them to any person or
group on the network, just by pointing
At Last A Nelwork That's Easy To Use
What good is a nelwork if your people
don't know how to use it? Tapestry's
screens are so easy to understand,
anyone can net great results without
special skills or training.
4 Tapestry supports all the
st andards, like IBM Token-Ring,
PC Network and 3Com hardware. Like
PC-DOS 3.1 and NETBIOS. So you can
choose the LAN hardware that's best
for you, and you won't have to worry
if your software will runf*
r
to names. Track the mail you've sent.
Get messages instantly.
• Cost-effective sharing of hard disks,
printers and modems
You can have up to 100 Tapestry
workstation/sen/ers and access any
one of them by touching the right
icon. Since all Tapestry servers are
undedicated, each station is free for
business as usual. You don't have
to invest in specialized hardware, or
sacrifice your valuable PC's.
• Advanced communications
capabilities
Need information from the company
mainframe or an outside service? Just
point to the desired Service icon. Torus
offers a family of network gateways*
that automatically make the connection
and speed your information through.
•And there's more!
Tapestry also provides central storage
of all your applications so they too can
be accessed with icons. Automatic
file locking so you can safely run single-
user applications not originally
designed for nelworks. File Manager
icons that let you manipulate files
without using DOS commands. And a
Telephone Manager that places your
calls and maintains a personal elec¬
tronic rolodex.
5 This coupon gives you
great savings and a
money back guarantee!
Usuallyjapestry costs $495
for your first workstation, and
$295 for each additional
station. BUT NOW YOU CAN
GET A TAPESTRY STARTER
PACK (SOFTWARE FOR TWO
STATIONS) FOR JUST $295!
If you aren't satisfied with
Tapestry for any reason, you can
return it within 30 days of ship¬
ment, and we'll gladly refund your
purchase price (less $50.00
restocking fee.)
So send this coupon to us,
take it to your Torus Dealer,
or call in your order today, and
start networking the easy way.
1
Phone
Networking Hardware_
Number of Workstations in
Subtotal $295!
Add $7.00 shipping/handling- $_
California residents add 6]6% sales tax
($19.18)
Amount enclosed
Payment VISA MC Check H
Credit Card Exp. Date DH
Card # _
This otter is good only in U.S. and Canada, and may be
discontinued without notice.
T-^r-^l , n * * * 4 95 Seaport Court, Suite 105
(Cy) I Jr IS Redwood City, CA 94063
(415)383-2418
System Requirements: Station 1: IBM PC, XT, AT or compatible
384K, 10MB hard disk. Station 2: IBM PC, XT, AT or compatible
320K. Plus suitable networking hardware.
Notes: TfY is standard, while VT100,3270SNA, and Remote
Access are purchased separately. “Tested appBcatfons indude:
dBase III Plus, MultiMate Advantage, Open Systems Accounting,
Displaywrite 3, WordPerfect, MS Word, Lotus 1-2-3, AutoCAD.
Torus and Tapestry are registered trademarks of Torus Systems,
UdTrademarte^ Displaywrite 3 and
PC-DOS- IBM Corp; MS Word- Microsoft, Inc; dBase III Ptus-
Ashton-Tate; 1-2-3 and Lotus - Lotus Development Corp;
WordPerfect- Satellite Software International; AutoCAD -
Autodesk, Inc; MultiMate Advantage-MultiMate International;
Novell -Novell, Inc; Open Systems Accounting -Open Systems, Inc.
CIRCLE NO. 184 ON READER SERVICE CARD
© 1986 Torus Systems, Inc.
iRMX
Pave an Interstate Link
to Your PC
tions, in effect allowing tasks to take the
role of devices (these are files with no
coupling to physical devices). Stream
hies may be concurrently written by
one task and read by another.
To use named hies, a task must be¬
long to a job that has established user
information for iRMX inspection. Using
the BIOS’s named hie management ser¬
vices, secondary storage devices may be
subdivided into volumes , each of which
contains a single tree of directories and
hies. A volume containing named hies
is managed like a DOS hie system, but
with the additional capability of individ¬
ually controlling each hle’s accessibility
on a user-by-user basis. Delete, list, add
entry, and change entry rights to direc¬
tories may be assigned to individual
users. Files carry individually assignable
delete, read, append, and update privi¬
leges. Jobs that travel with user informa¬
tion are termed I/O jobs.
Physical iRMX hies occupy entire
devices. Sequential devices such as
printers, plotters, and various display
devices are treated most conveniently as
physical hies. Under some circum¬
stances, it is also useful to treat random
access disk or disk-like devices as physi¬
cal hies. In formatting a disk, for exam¬
ple, or in interpreting the contents of
some foreign hie system on a diskette, a
disk is best treated as a stored sequence
of bytes with no special internal struc¬
ture; physical hies present this view of
the contents of a storage device.
Tasks use physical devices much as
they use named hies, but with a simpler
set of operations. To use a physical hie,
a task must establish a device connec¬
tion, then a hie connection, then open
the hie. Once open, the task can read
and write data to the hle’s associated
device, seek to specihc positions (if it is
a random access device), and perform
any other functions supported by the
device’s driver. Unlike named hies,
physical hies do not carry access con¬
trol information. They can be manipu¬
lated freely by any task that establishes
and opens a hie connection.
Stream hies, though accessed using
the I/O systems, are not attached to any
physical device. They provide a means
for connecting two tasks in a reader/
writer relationship. As part of system
initialization, the I/O system establishes
a device connection to a pseudo-device
representing a data stream. Tasks
wishing to engage in stream I/O must
establish a hie connection through this
special device connection. Once a
stream hie connection is established, a
task uses it to read or write data (de¬
pending on its role in the conversa-
creating a data conduit to a particular
device) is not deviceindependent. File
connections are similar to wires that
pass through device connections; they
are established by calling either S$AT-
TACH$FILE or S$CREATE$FILE, depend¬
ing on whether or not the hie already
exists. File connections identify devices
by referring to previously established
device connections, not by naming the
device, and thus are established in a
device-independent way. Application
tasks routinely make and break hie con¬
nections dynamically. Once a hie con¬
nection is in place, a task calls SfOPEN
to open the hie for reading and writing
in the conventional way.
The I/O system provides the man¬
agement of three kinds of hies: named,
physical, and stream. Named files can
be maintained on random access sec¬
ondary storage devices, such as disk
drives, in conventional directory struc¬
tures. A physical file occupies an entire
physical device, allowing it to be man¬
aged at a low level, as if it were a single
string of bytes. Stream files provide a
mechanism for intertask communica-
Traffic jam ... detour... stop light...
wait state ahead... limited access...
oversized vehicle ahead...project
behind schedule.. .caution... pot¬
hole, slow down!
This is the way your old serial card
handles communication between
your IBM PC and peripherals — like
a back road through Hoboken.
But now, with the new expanded 8-
channel serial card called ACL™ (for
Advanced Communication Link),
you can make it think an Interstate is
plugged into the I/O.
Using its own on-board CPU plus
an array of supporting components,
the new ACL card widens the road
between PCs and mainframes,
printers, modems, plotters, and
remote terminals. Now, your PC is
free to do the “thinking” you
demand of it, and doesn’t waste time
as a traffic cop.
Call for free literature that explains
how to get rid of bottlenecks and
stalled data in your PC.
33800 Curtis Blvd., Eastlake, OH 44094 (216) 951-5922
TCC//A/OZ OG/ES /A/C
144
CIRCLE NO. 177 ON READER SERVICE CARD
PC TECH JOURNAL
WHEN YOU NEED
ACCESS TO FULL MEMORY,
STRUCTURE,
COMPATIBILITY WITH
GW- & PC-BASICA,
OR
WHEN YOU NEED THE
POWER AND FLEXIBILITY
OF C OR PASCAL...
.. .You need BetterBASIC.
The BetterBASIC compiler has
become the standard by which other
BASICs are evaluated. BetterBASIC is
completely compatible with GW-BASIC and
PC-BASICA when running on IBM PC’s and true
clones. You can load and run your existing BASIC
programs in BetterBASIC. It uses standard Microsoft
syntax and gives you more than 150 additional state¬
ments such as XREF, DEFINE WINDOW, MAKE MOD
ULE, and PROCEDURE. In benchmark comparisons,
BetterBASIC is five times faster than interpreted BA¬
SIC. There is optional 8087/80287 math chip support,
and an optional Runtime System to create stand-alone
'
EXE. files. BetterBASIC is not
copy protected. Technical support is
provided for all registered users.
See for yourself why Dick Aarons of PC Magazine
said “BetterBASIC may be the best of all BASIC pro¬
gramming worlds” and selected BetterBASIC as
Editor’s Choice” (Oct. 29,1985).
BetterBASIC
8087/80287 Math Chip Support
Runtime System
Sample Disk with Tutorial
Ask your dealer
or call to order:
$199
$99
$250
$10
1 - 800 - 225-5800
In Canada, call 416-469-5244
BetterBASIC is a registered trademark of Summit Software
Technology, Inc. IBM PC, XT, AT are registered trademarks
of International Business Machines Corp. Microsoft is a
registered trademark of Microsoft Corp. Thndy is a registered
trademark of Thndy Corp.
CIRCLE NO. 195 ON READER SERVICE CARD
Summit Software Technology, Inc™
106 Access Rd. Norwood, MA 02062
iRMX
tion); data are delivered from the writer
to the reader via BIOS facilities.
In addition to serving a useful role
within a production system the stream
I/O facility creates practical flexibility
for systems developers by allowing
tasks to serve in the role of input or
output devices. A device for which
hardware or software is not yet com¬
plete can be simulated by a task in
order to expedite system integration
and testing. Alternatively, systems devel¬
opers can take advantage of the I/O sys-
tem’s device independence to capture a
stream of data in a named disk hie for
analysis, instead of passing it along to
its ultimate destination.
The EIOS allows the specification
of a buffering level in association with
each hie at the time a hie connection is
established. If zero buffers are speci¬
fied, every task call for I/O through the
connection results in a physical opera¬
tion on the hies associated device. If
one or more buffers are made available,
the system automatically blocks data
and defers physical read (write) opera¬
tions until buffers are (empty) full. Mul¬
tiple buffers allow the I/O system to
perform read ahead/write behind-style
management of hie I/O.
Tasks using EIOS calls to read and
write hies automatically run synchro¬
nously with the hie system; that is, they
receive control back from an I/O call
only when the requested operation is
hnished. Tasks also have the option of
calling around the EIOS and using the
facilities of the underlying BIOS di¬
rectly. Using the basic system’s calls,
tasks can initiate a read or write opera¬
tion, continue with other processing in
parallel with the performance of the
I/O, then call the system back to await
completion of the operation and to
check its status.
DEVELOPING RTX APPUCATIONS
Because RTX includes UDI, any of
Intel’s systems development tools built
to access iRMX services will run under
the RTCS product. These tools include
an assembler, a linker and locator, and
compilers for the FORTRAN, Pascal, C,
and PL/M languages. The standard RTX
package from RTCS includes Intel’s
assembler, linker, and locator; program¬
ming languages are available separately,
also through RTCS.
In addition to hosting Intel’s soft¬
ware development tools, RTX serves as
a general-purpose software develop¬
ment environment by making other
iRMX facilities available to the system
developer. Developers using RTX as a
base can communicate with iRMX using
its Human Interface capabilities for in¬
teractively accepting and executing user
commands. File storage is provided by
the iRMX I/O systems, which maintain
hierarchical, DOS-like systems of named
hies. On PCs configured with 512KB of
memory, the RTX operating system can
support multiuser operation, offering
systems developers an option not avail¬
able with DOS-based development.
RTX users have the option of
developing software under DOS. RTCS
Corporation’s RTCS/UDI package equips
a PC or PC/AT running PC-DOS with a
fully Intel-compatible UDI, enabling it
to run any of Intel’s standard utility and
software development programs. The
PC UDI requires 256KB of memory, one
360KB floppy-disk drive, and PC-DOS
version 2.0 or later.
To bring the UDI up under DOS,
the user runs the RTCS program UDI,
which installs a layer of resident intelli¬
gence in the DOS environment. Once
UDI is installed, it sits between the user
and the DOS command processor and
allows the execution of three types of
commands: ordinary DOS commands
Programmer
Essentials
0 “Offers many capabilities for a reasonable price” o'
\o W. Hunt, PC Tech Journal °/
\o “I highly recommend the 0 UTILITY LIBRARY” o/
□essentials $100
200 functions: video, strings, keyboard, directories, files, time/date and more.
Source code is 95% C. Comprehensive manual with plenty of examples. Demo
programs on diskette. Upgrade to THE C UTILITY LIBRARY for $95.
THE □UTILITY LIBRARY $185
Thousands in use world wide. 300 functions for serious software developers.
The C ESSENTIALS plus “pop-up” windows, business graphics, data entry, DOS
command and program execution, polled async communications, sound and
more.
ESSENTIAL GRAPHICS $250
Fast, powerful, and easy to use. Draw a pie or bar chart with one function.
Animation (GET and PUT), filling (PAINT) and user definable patterns. IBM color,
IBM EGA and Hercules supported (more soon). NO ROYALTIES. Save $50 when
purchased with above libraries.
Compatible with Microsoft Ver. 3, Lattice, Aztec, Mark Williams, CI-C86,
DeSmet, and Wizard C Compilers. IBM PC/XT/AT and true compatibles.
□compiler Packages: Microsoft C - 319, Lattice or CI-C86 compilers
-$329. Save $40 - $50 when purchasing compiler and library combinations.
Specify C compiler and version number when ordering. Ada $4for UPS or $7for
UPS 2-day. NJ residents add 6% sales tax. Visa, MC, Checks, PO’s.
ESSENTIAL SOFTWARE, INC
P.O. Box 1003 Maplewood, NJ 07040 914/762-6605
CIRCLE NO. 120 ON READER SERVICE CARD
146
PC TECH JOURNAL
Where's The Logical Connection™?
No more spaghetti!
At last there's an easy way to
connect printers, computers,
modems and other devices
together — in any configuration!
The Logical Connection™ gives
you 8 programmable ports (4
serial, 2 parallel in and 2 parallel
out) that you can connect any way
you want. If you need more, you
can "daisy-chain" them together to
interconnect up to 270 separate
devices. And if you have
computers in more than one
location, The Logical Connection™
can link everything in one office to
everything in another over a single
twisted-pair wire! (Or a single phone
line with a modem at each end).
Share your printers.
Now you can give every
computer in your office access to
every printer — even if they're
strung out all over the building.
And because The Logical
Connection™ gives you software
control over which output goes to
which input, you'll never have to
unplug another cable to share your
resources.
Fully programmable.
The Logical Connection™
provides automatic parallel to serial
and serial to parallel conversion.
Just plug in your devices and call up
The Logical Connection's™ user-
friendly configuration menu on your
monitor. It will guide you step by
step through the process of defining
inputs and outputs, with extensive
online help and easy to understand
prompts. And you can change
configurations just as easily, as often
as you want.
A big, smart buffer.
You won't have any
slowdowns (or disasters) if three
computers want to use the same
printer at the same time, because
The Logical Connection™ has a big
256K buffer built-in, with sockets for
easy installation of another 256K.
Smart buffer management spools
each document for printing in the
order received, so your computers
can keep right on working.
The logical conclusion.
So if you're looking for a
simple solution to the problem of
connecting (and sharing) multiple
printers, plotters, modems and
other devices, it's time you got the
connection. Get The Logical
Connection™ at your leading
computer dealer, or order direct
from Fifth Generation Systems.
Fifth
Generation
.-.—. SYSTEMS
Innovative Products Using Today's Technology
CIRCLE NO. 125 ON READER SERVICE CARD
7942 Picardy Avenue. Suite B350, Baton Rouge, Louisiana 70809 • (213) 493-4483
5 you can draw
your own conclusions.
* Drafix 1. The first high performance CAD software everyone can afford.
Low-cost, high performance computer-
aided design & drafting (CAD) software is
finally available for use on your PC.
There’s never been a professional CAD
package so complete at such a low cost.
Drafix 1 from Foresight Resources.
Only $295.
Powerful, full-featured second
generation CAD software.
Drafix 1 offers all of the capabilities
you expect to find in packages costing
$2,000 or more.
This is not simply a souped-up paint
package. Drafix 1 is a breakthrough in
design that organizes sophisticated CAD
functions into smooth, fast operations.
All of the drawing, designing and editing
functions that designers demand from a
serious CAD tool are included in Drafix 1.
first high performance
A breakthrough in screen design
and visual user interface.
Drafix 1 features the best organized
screen design ever devised. Very simply,
it displays all the information you need,
all of the time.
The entire menu hierarchy is displayed
constantly. There’s no need to memorize
commands or search for menus.
Snap-mode options are continually
shown on the left screen border and can
be selected “on the fly” by either pointer
device or a single keystroke. Roll-down
screens provide quick access to the vir¬
tually unlimited drawing, display and
editing options.
And it’s all controlled by a versatile
three-button mouse, or digitizer, with on¬
screen prompts so each button function is
clearly defined.
AutoCAD® compatible for easy
expansion.
If you or someone in your company
already uses AutoCAD, Drafix 1 offers an
inexpensive way to add to your capability.
everyone
The optional Drafix 1/AutoCAD file ex¬
change utility permits transfer of draw¬
ings between Drafix 1 and AutoCAD.
It’s the perfect, low-cost alternative
for increasing your drafting and design
capacity.
Low introductory bundle prices.
To get you up and running we offer
two special bundles—all the equipment
you need at introductory prices you won’t
believe.
Get Drafix 1 with your choice of the
Mouse Systems’ optical mouse or Torring-
ton’s Manager Mouse® for just $395.00.
Or get Drafix 1 with SummaSketch
12 "x 12 " digitizer tablet with stylus
for just $585.00.
Order today. Take advantage of our
30 -day, money back guarantee.
We’re so certain you’ll like the per¬
formance and versatility of Drafix 1 you’re
welcome to try it risk free for 30 days. If
you’re not completely satisfied, return it
to us for a full refund.
Find out just how good CAD software
can be. For only $295.00.
Use our toll-free number and any
major credit card to order your copy
of Drafix 1 today.
SPECIFICATIONS
Modify/Edit
Attributes
Code specifications
Break/Divide
Lattice “C” language
Fillet/chamfer
Malo graphics
Trim
Floating point database
Stretch
Coprocesser support
Erase
PC-DOS/MS-DOS 2.1 or later
Explode symbols & polygons
Drafix 1 Features
Mask
Items
Replace
Lines
Merge
Pt markers
Region select
Arcs & circles
Note text
Workgroup
Polygons & ellipses
Symbols/individual & nested
Auto hatching, polygon fill
Item attributes
Auto Dimensions
16 pen colors
Linear Hor/Ver/Aligned
255 Layers
Angular
8 Linetypes
Oia/Radius
12 Text fonts
Leader Notes
32 Pt marker types
Ordinate
Screen Display
Chain & Baseline
Zoom/Pan/Full
Check calculations
8 Save Views
Coordinates
Slide save/view
Distance & angle
Grids on/off
Area & perimeter
Metric & English Standards
Item Masking
Engineering (decimal/fractional)
Hardware
Architectural (ft in)
Computers
IBM PC XT AT and compatibles
Project drawing info.
AT&T 6300 Plus
Zenith
Numeric input
System Requirements
Keyboard and cursor
- 512K RAM
Absolute. Relative. Polar
- RS-232 Comm port
Snap Modes
- Mouse or digitizer
Gridpoint
- Coprocessor recommended
Endpoint
Graphics Display boards
Midpoint
IBM CGA/EGA and compatibles
Intersect
Hercules, and a wide range of
On item
graphics boards
Quadrant
Digitizers & Locators
Tangent
All popular locator devices supported
Arc center
Plotters
Transform/Copy
All popular plotters ("C" size)
Move
supported
Rotate
“E" size plotter option available
Scale
Printers
Mirror
All popular laser and dot matrix
Align
printers supported
Order Now! Call Toll-Free!
1 - 800 - 231 - 8574 ,
Ext. 500
□ Drafix 1 CAD Package
□ Drafix 1 with Mouse
Mouse Systems_
Torrington
$295
$395
□ Drafix 1 with SummaSketch tablet$585
□ AutoCAD File Exchange Utility $ 95
Dealer inquiries welcome
Check, money order, Visa
and MasterCard accepted
FORESIGHT
RESOURCES CORP.™
932 Massachusetts
Lawrence, KS 66044
913/841-1121
AutoCAD is a trademark of Autodesk Inc.
IBM PC/XT/AT are trademarks of the IBM Corp.
SummaSketch is a trademark of Summagraphics Inc.
Manager Mouse is a trademark of Torrington Company
iRMX
and programs, UDI built-in commands,
and Intel software tools and other pro¬
grams that make UDI system calls. The
UDI program also can be used on a
single-shot basis, to run an Intel pro¬
gram one time without installing itself
and remaining resident.
In addition to the DOS-executable
version of the UDI, RTCS/UDI includes
a subroutine library (in IBM DOS linker
format) that contains the PC-DOS UDI
(as listed in table 1). Using this library,
users can construct programs that, like
Intel’s software tools, can be executed
in any 8086-family operating environ¬
ment supporting the UDI.
Although similar in structure, RTX
(iRMX) file systems and DOS file sys¬
tems are not compatible. They can,
however, coexist in separate partitions
on an XT or AT hard disk. RTCS pro¬
vides two file translation programs,
PC2RTX and RTX2PC, with which files
can be transferred back and forth
between the two systems.
PIECEWISE PROGRAM LOADING
In conjunction with its multiuser, gen¬
eral-purpose capabilities and full-fea¬
tured file system, RTX offers more flexi¬
bility than most realtime systems do
with respect to the way executable
systems are prepared and loaded into
memory for execution. An entire appli¬
cation system does not need to be
loaded and executed as a monolithic
unit. In addition to an initial bootstrap
loader, RTX includes Intel’s Application
Loader, an iRMX subsystem that pro¬
vides a set of system calls that can be
used to load programs from secondary
storage into memory under control of
application tasks. The Application Load¬
er can load program overlays as well as
entire programs from secondary stor¬
age, and is capable of dynamically allo¬
cating memory and bringing programs
into an already running system.
Using Intel’s LINK86 linker and
LOC86 locator, object routines can be
prepared in compact, medium, or large
segmentation models. They can be gen¬
erated in absolute, load-time-locatable,
or, in the case of modules in the com¬
pact model, position-independent form.
The Application Loader offers two
levels of function for bringing prepared
executable code into memory. The
simpler level, which is implemented in
the A$LOAD system call, reads and lo¬
cates code in memory, leaving it up to
the calling application task to determine
how and when it is to be executed. The
more complex level, implemented in
the A$LOAD$IO$JOB and in the
S$LOAD$IO$JOB system calls, loads the
code, creates an I/O job, and starts the
job’s initial task running.
The loader can load I/O jobs asyn¬
chronously or synchronously. With
asynchronous loading, the invoking task
can continue executing in parallel with
the loader, and must specify a mailbox
through which it will later receive the
loader’s report on the operation’s status
in a loader result segment. Asynchro¬
nous operation is not available for load¬
ing overlays; a task loads an overlay by
making the S$OVERLAY system call, and
must wait synchronously for the com¬
pletion of the load.
REALTIME ADVANTAGES
By any measure, iRMX is a big operat¬
ing system. Its basic documentation
stands two feet high. It can consume
200KB of memory in maximum configu¬
rations (the standard AT/RTX configura¬
tion occupies about 174KB). iRMX is
also complex—learning its object-
oriented world view and navigating its
myriad configuration and operating op¬
tions requires close study and careful
attention to detail. It can impose consid¬
erable execution time overhead on
application tasks. By comparison with
minimal systems, iRMX is harder to
learn, harder to fit, and slower to run.
Its counterbalancing advantages are
many. iRMX provides an array of func¬
tion that is vast in comparison to most
microcomputer operating systems. Its
multiuser file management capabilities,
for example, far outdistance those of
DOS. Microcomputer implementations
of UNIX and its derivatives provide sim¬
ilar levels of function, but lack iRMX’s
realtime facility. iRMX’s flexible and
thorough-going interrupt management
capabilities, though they impose execu¬
tion time overhead, are unmatched for
function in the system’s market. With its
job-oriented resource management,
directory and file access controls, and
Human Interface services iRMX stands
alone in the realtime market in its sup¬
port for multiuser, time-sharing systems.
iRMX’s object-oriented architecture,
though it presents a larger training
hurdle than that of more traditionally
crafted operating systems, holds many
advantages for organizations adopting it
as an implementation base. It encour¬
ages and even enforces an approach to
system design that embodies some of
the more significant advances in soft¬
ware design methods of the past
decade. “Information-hiding” interfaces,
for example, which isolate the imple¬
mentation consequences of design deci¬
sions within single modules, and a gen¬
erally high level of data and functional
Fortran Support
for
IBM PC/XT/AT & Compatibles
Versions Available For:
Microsoft, Supersoft, RyanMcFarland,
IBM Professional, Lahev, & IBM
Fortran.
Forlib-Plus
$69.95
Supports graphics, interrupt driven com¬
munication, program chaining, and file
handling/ disk support. A Fortran coded
subroutine is included which will plot data
on the screen either in linear/linear, log/
linear, linear/log, or log/log on the appro¬
priate grid.
Strings & Things
$69.95
Supports string maipulations, command
line usage, DOS call capabilities, SHELL
generation and data transmission, BATCH
file control, music generation, PEEKS and
POKES, PORT access, and general register
manipulations.
For-Winds
$89.95
Gives the Fortran programmer the capa¬
bility of generating up to 255 windows on
the screen. Each window can be individually
scrolled, moved, sized, generated, and
removed. Both color and monochrome type
displays are supported. Full source code is
supplied for customization.
ACS Time Series
$495.00
This is a COMPLETE time series analysis
package which contains VERY HIGH
SPEED FFTs, Filter generations, convo¬
lutions, transfer function calculations, auto
and cross spectra calculations, Cepstrum,
curve fitting algorithims, coherence calcu¬
lations, and many other associated routines.
The price includes FULL source code.
Fortran Scientific
Subroutine Package
$295.00
There are approximately 100 Fortran sub¬
routines included which fall under the
following 12 categories:
I) Matrix storage and Operations 2)
Correlation and Regression, 3) Design
Analysis (ANOVA), 4) Descriminant Anal¬
ysis, 5) Factor Analysis, 6) Eigen Analysis, 7)
Time Series, 8) Nonparametric Statistics, 9)
Distribution Functions, 10) Linear Analysis,
II) Polynomial Solutions, 12) Data
Screening. Full source code is included.
ALPHA
Alpha Computer Service
P.O. Box 2517
Cypress, California 90630
(714) 894-6808
California Residents
Include 6% Sales Tax There are NO license fees
JUNE 1986
CIRCLE NO. 101 ON READER SERVICE CARD
iRMX
abstraction are natural by-products of
iRMX-based design.
Organizations adopting iRMX also
will find engineers engaging in more
thorough consideration of exceptional
conditions—how and when they arise
and how to handle them when they do.
iRMX’s exception-handling approach
makes the design issues of error han¬
dling much less likely to be overlooked
or treated as an afterthought.
Much of the operating system’s
complexity stems from the considerable
work Intel’s developers did to achieve
two valuable goals: a high level of
configurability and a powerful set of
approaches to classic realtime design
problems. Their efforts were successful
in both respects. The sheer quantity of
design attention in providing ways to
deal with common realtime dilemmas is
evident throughout the system. In inter¬
task synchronization, for example, iRMX
support goes well beyond the adequate
functions provided by semaphores by
offering the carefully designed region
mechanism as well.
In addition to the benefits of
iRMX’s sound and comprehensive de¬
sign, a number of practical benefits ac¬
crue to RTX users and resellers. iRMX’s
longevity, coupled with Intel’s commit¬
ment to supporting the 8086 family, has
made it a stable, mature product. The
product works, it is in widespread use
in the industry, and it carries the Intel
name and reputation for quality. Its per¬
ceived reliability, a quality as important
to marketeers as its actual reliability, is
high. Like the PC and PC-DOS, iRMX’s
open, extensible architecture and wide¬
spread distribution has led to strong
third-party support—many device man¬
ufacturers in the industrial instrumenta¬
tion and control market offer iRMX
drivers with their products.
FAVORABLE PRICING
In creating the PC/RTX and AT/RTX
products, RTCS has made iRMX much
more accessible, in both the technical
and the business sense. Its packaging of
a preconfigured version for the PC has
eliminated a substantial technical bar¬
rier by greatly reducing the amount of
work required for a reseller to bring
iRMX up in support of a PC-based
application. RTCS’s more favorable
low-quantity pricing removes practical
barriers some resellers would encount¬
er in Intel’s pricing structure.
PC/RTX in standard configuration
(quantity one) is $995. Usable as a run¬
time environment, development envi¬
ronment, or both, PC/RTX requires a PC
or PC/XT with 256KB of memory, two
360KB floppy-disk drives—although
512KB and a hard disk are recom¬
mended—and a standard monochrome
or color display. Included with PC/RTX
is Intel’s 8086 Family Utilities package,
with ASM86, LINK86, and LOC86; RTCS’s
PC2RTX and RTX2PC hie translation util¬
ities; and an assortment of other Intel
utilities. RTCS also offers discounts,
from 5 percent for quantities of 5 to as
much as 40 percent for quantities of 50.
AT/RTX is priced at $1,495, and requires
512KB of memory and a hard disk.
Users purchasing the basic PC/RTX
or AT/RTX product must develop appli¬
cations under RTX unless they also pur¬
chase RTCS/UDI for an additional $500.
RTCS/UDI permits single-user, PC-DOS-
based development. For either develop¬
ment environment, Intel’s Pascal, FOR¬
TRAN, and PL/M compilers are available
through RTCS for $1,295 each; the (In¬
tel/Mark Williams) C compiler is $2,795.
Users who must change iRMX con¬
figuration parameters or add and re¬
move device drivers must purchase PC/
RTX-C or AT/RTX-C. These are fully con¬
figurable versions of iRMX that contain
the RTCS-prepared device driver librar¬
ies and configuration source hies re¬
quired to perform a full iRMX system
generation. Priced at $2,000 for the PC
version and $2,795 for the AT version,
these packages require the purchaser to
acquire an iRMX license directly from
Intel. Intel’s price for a basic license is
$6,000. Resellers of systems built with
conhgurable versions of RTX must pay
Intel royalties as well as RTCS’s per-
copy charges; Intel’s royalty charge for a
single-copy sale is $300.
All RTCS products come with 90-
day support entitling the purchaser to
telephone technical assistance and auto¬
matic product updates during the per¬
iod. The support period can be ex¬
tended for a year at a cost of $160 for
PC/RTX and $210 for AT/RTX. All RTCS
users can use RTCS’s dial-up bulletin
board service, which RTCS uses to dis¬
tribute product support information.
The bulletin board supports uploading
and downloading, in addition to a tele¬
conferencing forum, in which users can
locate each other and exchange soft¬
ware and information.
PC/RTX: $995; AT/RTX: $1,495
Real-Time Computer Science Corp.
1390 Flynn Road, Unit E
Camarillo, CA 93010
805/987-9781
CIRCLE 339 ON READER SERVICE CARD
Richard M. Foard is a software consultant
who specializes in realtime systems design.
CCOMPILERSiof680X0
► Produce highly optimized code for MC68000/010 and MC68020/68881
► Complete development environment: Assembler, Linking and
Downline Loaders, Runtime Libraries
► Available for Motorola, DEC, and IBM PC host computers
CALL ALCY0N AND ORDER NOW! Warranty, Documentation, Maintenance,
and Telephone Support included.
CORPORATION
5010 Shoreham Place • San Diego, CA 92122 • (619) 587-1155
UNIX is a trademark of AT&T • DEC, VAX, VMS are trademarks of Digital Equipment Corporation • VERSAdos is a
trademark of Motorola • IBM PC is a trademark of International Business Machines
150
CIRCLE NO. 106 ON READER SERVICE CARD
PC TECH JOURNAL
PC BRAND: CAREFULLY CHOSEN
PROGRAMMER TOOLS
BRIE Is Anything But.
A Whopper of an Editor
W ith a name that belies its thorough¬
ness, Brief™ has every feature
you’ve ever contemplated for your editor-
in-chief. Text, from keyboard or files, is
housed in multiple buffers, and scrolled
through one or more windows you open,
close, resize. A text buffer may be called to
different windows to view two areas at
once. A change in one changes both. Text
blocks may be marked for printing, writing
to files, movement to scrap buffers for cut
and paste into other buffers, or deletion,
with as many "undo” levels as you want.
To find and fix, Brief has text search
abilities rivaling “grep", with wildcards for
matching, indifference to intervening
characters, acceptance of character
ranges, even multiple choice of patterns
and their replacements.
If you use Lattice, C86™, or Wizard, and
have 320k, you can compile your C
program without ever leaving Brief. It finds
the lines with errors, and marches you
through the text for repairs.
Parts of Bnef were written with its own
Lisp-like macro language which has
structure, 32-character variable names,
conditional execution, loops, and you can
actually read it! Nothing like the
hieroglyphs we’ve seen elsewhere. Bulletin
board and public domain disks with
macros. Disk of contest-winning macros
comes free with your purchase! "Simply
the best text editor you can buy", Dvorak
Infoworld. (Needs 192k.)
Ask for: List: PC Brand:
U0590 * *195 *CALL
MULTI-HA! Multi-Board
Graphics Library
The premier graphics library that got the
ball rolling for PC-based graphics and has
grown so omnipotent that it supports over
25 graphics boards — including IBM’s
EGA and Nr. 9 Revolution’s hi-res series —
and has a multitude of mouse and printer
drivers. All that in each box. Separate C
versions for Lattice, M’soft, Aztez, CI86.
What does Multi-Halo do? Just about
anything. A full "paint” was written using it.
Wonderful value for single license. Costly
royalties though for redistribution. Specify:
S0315 & Language. List: * 250 . We: * 199 .
WINDOWS for C/WINDOWS for DATA
Give Your Program a Clearer Outlook
W indows for C™is a library of over 65
•f.
functions to add the pizazz and prac¬
ticality of window partitioning to your
application. Unlimited windows, each
defined in a C structure for easy reference
throughout your program, can be made
either to pop up or permanently overwrite
the screen. Routines will scroll and
highlight lists with arrow keys, will read
and scroll ASCII files vertically and
horizontally in windows, and even write to
memory-loaded files off the screen.
Logical treatment of video attributes
permits unchanged programs to run on
color or monochrome. Colors of windows
are set individually.
All functions are in separate modules;
only those used are linked. Only buffers
holding on-screen or temporarily
obscured windows occupy RAM; others
released dynamically. TDpView™
compatible. Best overall rating and fastest
display in Bill Hunt’s 7/85 Tech Journal
review of five windowing products.
Windows for Data comprises all of
Windows for C but takes in data through
the windows as well. At the high level a
single function lets you specify prompt
string, field length, data type, screen
location, picture, target variable, then sets
lesser functions scurrying to get and
process a user’s input — any of which
functions are available directly. There are
utilities to get system date and time, mess
with strings, create your own field masks.
Field options can require entry, prevent
entry, permit insert or overtype, beeping
on invalid or overflow keystrokes, and
attachment of field-specific help messages
and functions you want called to display
messages or validate entries. And you
decide which keys will clear a field, jump
to the next or prior, quit, etc. Options
diverse enough that a set of "fields” can be
made to behave like a Lotus™ menu.
Many compilers. Free demo.
Specify Compiler: List: PC Brand:
T0100 Windows for C *195 *169
T0150 Windows for Data *295 *259
jgglSSSs
SSsfl
sSgsis
gsASSSSiasr
C-WORTHY LIBRARY pipe this one aboard!
Fits Out Applications with Shipshape Interface
M
any libraries launch flotillas of func¬
tions for small crafting — re-working
of strings, positioning the cursor, etc. C-
Worthy, by contrast, is a formidable battle
wagon for major C engagements.
The C-Worthy Library™ wraps an entire
user interface around your application. Its
full power can be summoned by only a few
high level calls. Sound exaggerated? A
single function call can set up a complete
text editor in a screen window.
• High level calls pop menus and scroll¬
able choice lists to the screen, restoring
the background when dismissed, and
branching to the chosen activity in your ap¬
plication. A full function set handles
doubly-linked lists defined by C structures.
• Windowing facilities open portholes of
up to screen size for viewing virtual
screens larger than the physical screen.
• Full context-sensitive help screen man¬
agement takes over this chore. Keyboard
entry routines look for the help key on their
own and interrupt with pageable text win-
C-TREE
B-Tree File Manager, Source Code, No Royalties!
C -tree™ has been around since 1979.
(It became Digital Research’s Access
Manager™). That means seasoned, sturdy
code which hasn’t cracked under the
weight of prolonged and widespread use.
C-tree comes in C source code, revealing
all you’ve ever wanted to know about how
b-trees are written. Provided you bind it
into your binary application, you can re¬
dBC
Lattice Library Maintains dBASE Compatible
Files With the Power and Speed of C
d BC™ links C to dBASE. It creates and
maintains files and their indexes which
exactly replicate dBASE file design. So
dBASE can read and update them. And
the reverse. dBC can use any files created
by dBASE. Now C and dBASE can operate
on the same data bases interchangeably.
That opens up the widespread culture of
dBASE installations to exploitation by C
programmers. You can tap that market,
avoid the resident dBASE language, and
gam all the advantages of C with this single
product.
dBC’s functions parallel all dBASE’s file
handling commands, many decomposed
to give closer control. The manual
discusses each backed by demo source
files on disk.
Use dBC for custom work for clients, or
on its own. It’s a complete ISAM file
manager for C whether or not dBASE will
be used m tandem, supports all four
memory models, and can have sixteen
mdex and data files open. Big discount to
buyers of both dBASE II and III versions.
Specify Lattice, Microsoft 3.x, or DeSmet.
Versions:
L00II For dBASE II
LCCII With Source
LOIII For dBASE III
LCIII With Source
List:
*250
*500
*250
*500
PC Brand:
*195
*390
*195
*390
distribute C-tree without royalties.
C-tree’s design splits nodes to allow any
number of users to access an index file
simultaneously even when updates are in
progress. So multi-user configurations and
adaptation to networks are possible. You
must write record-locking routines, as they
are compiler and operating system
dependent, but shows how.
Thanks to source code which does not
deviate from the K&R standard, C-tree can
travel. Tests in many environments prove
that C-tree gives your application a ticket
to anywhere.
C-tree permits any number of keys for a
data file, supports duplicate keys, variable
record length files, multiple key indexes in
a single file, etc., etc — it’s a comprehen¬
sive product with everything you'd expect.
Intelligently designed, too. Both high level
ISAM routines which minimize coding by
handling all details of an activity; as
well as decomposed step-by-step functions
you can access directly. Either way C-tree
maintains optimal index structures which
will find the record you seek amongst a
million ten-byte keys in no more than five
disk seeks.
Ask for: List: PC Brand:
F0660 *395 *329
dows explaining what to do next.
• Full error message interface sends error
codes and the functions which return them
to C-Worthy which counsels user; you get
to remove all that error-checking clutter
from your core program.
Your application is nested in these
powerful emissaries to the outside world.
C-Worthy’s imaginative architecture then
makes heavy use of C’s pointers to func¬
tions to find its way into your application to
act upon the user's request.
Separate utilities maintain help and error
message text and lists in files. This text
segregation means applications can readi¬
ly translate into foreign languages without
reprogramming — doubly so because C-
Worthy display routines automatically
resize for text length.
Where the high level interface does not
suit you, the low level routines are available
as decomposed functions. All machine de¬
pendency such as key mapping is housed
in interchangeable overlays loaded along¬
side the application at run-time; C-Worthy
applications can thus run on a mix of PC
and MS-DOS machines without
recompilation.
C-Worthy hands you a consistent and in¬
tuitive interface and a revolutionary design
approach. Novell found it "played a key
role and accelerated development” in
making its NetWare™ utilities easier for
users. “You owe it to yourselves to take a
look.” Binary. Lattice. Others coming. In¬
genious demo: call for it.
Ask for: List: PC Brand:
T0500 *295 *269
T0550 Novell Network *495 *449
CURSES Unix Style
Screen Management
Curses from Lattice™ manages the screen
of the PC like Unix™ curses. Library of 84
functions and macros parallels Unix with
matching parameter lists. So your Unix
program will feel at home when you move
it to the PC, and programs created on the
PC will be Unix compatible. Keeps any
number of screen images in memory, full
or partial size. Supports color, all four
memory models. Vast function set to get
characters, wrap lines, scroll, blank lines,
highlight, etc. Carefully follows Unix curses
terminal orientation by re-painting physical
screen only on your refresh command.
Ask for: L0850. List: *125. Here: * 99 . With
Source: L0860, *250 / $ 199 .
, cU , We stock ever
cm ge, t, ns ^ cany
lM Wrn^ um more pro-
_ or can ga
ducts. Just ask.
For Orders, Literature, or Catalogs, Call Us at...
800 PC -BRAND
That's (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311
Telex: 667962 (SOFT COMM NYK)
<c 1986 PC BRAND
Prices, terms, and specifications subject to change without notice.
CIRCLE NO. 171 ON READER SERVICE CARD
TODAY’S TOP QUALITY AIDS TO
PROGRAMMING PRODUCTIVITY
DAN BRICKLIN’S DEMO PROGRAM
Slide Show Your Latest Greatest Idea dispensable '-
PRE-C
Thorough “Lint”-like
Analysis Now on the PC
U nix users have always had "lint” to
thoroughly clean programs before
they disappear into a compiler.
Pre-C™ looms larger than "lint”. It finds
problems your compiler won’t. Problems
that a debugger will have trouble figuring
out. Even problems which will cause
trouble with other compilers.
Pre-C finds all the syntactical tripwires
that will blow out a compiler and much
subtler problems: code which will never
be accessed, casts with suspect
conversions, variables declared as
external but never used, functions never
called, machine-dependent expressions
which inhibit portability, obsolete usage.
But the big service of "lint” is this:
Compilers work with one module at a time.
They know nothing of other modules which
only meet up at link time. Pre-C looks at all
segments of your program at once and
reports to you any inconsistencies of inter¬
module references like conflicting data
type declarations; parameter lists in calls
which disagree with the functions
themselves in number or data type.
Pre-C uses the Unix System III compiler
standard to guarantee maximum port¬
ability anywhere in the C world. Plentiful
command line options relax such rigor dur¬
ing early coding when work is incomplete.
Use purchased binary libraries? Profile
them for Pre-C and it will thereafter insure
that function calls from any C program are
letter perfect. A miracle worker in speed¬
ing large system development. Needs 128k
minimum; 192k recommended.
Ask for: List: PC Brand:
P0590 *395 *295
Maximize Memory Use
P link86™ long the overlord of overlay
linkers, now has a Plus version. As a
linker Plink can be used with any com¬
piled language which delivers Microsoft/
Intel format object files. It yields automatic
symbol tables and more memory maps
than DOS LINK, but its overlay power has
won its reputation as a miracle worker.
Plink86 shoe-homs large programs into
small memory by binding into your com¬
piled program an overlay manager which
knows how to swap modules of large
linked programs between disk and shared
memory space. Plink86’s straightforward
overlay description language allows you to
describe your overlay hierarchy in a
structure permitting up to 4.095 overlays
stacked 32 deep.
So if your program needs large chunks
of memory, you no longer forego sales to
folks who have less. But if you’ve assumed
128k, and they have 640k, Plmk86-Plus™
knows to use extra memory as cache for
overlays — at full speed compared to disk
swapping. It also can automatically restore
a displaced overlay to which a subse¬
quently called overlay must return, and
assign library modules to either a
program’s root segment or overlay areas.
Plink, the programmer’s choice even
when CP/M™ was the poobah of
List PC
Code: Product: Price: Brand:
S0500 Plink86 *395 *289
S0499 Plink86 Plus *495 *359
W hen the inventor of the electronic
spreadsheet called with a new pro¬
gram, we sat straight up in our chair.
VisiCalc™ was for businessmen, but Dan’s
latest is for us programmers.
Ever had trouble putting a program idea
into words? Programs are screens! Words
don't work. The answer? Show your
program as a procession of screens.
Dan’s new program makes it easy. It
creates slide shows that imitate a
program’s screens and sequential activity.
Create a screen — a snapshot of your
planned product as it runs. Anything goes:
words, borders, box rules, inverse and
underlining of monochrome, foreground
and background color on the CGA and
EGA. Press a key and make a copy of this
"slide", change it a little, by a single
character perhaps, to show the next instant
of run-time, then copy the slide forward
again. Create a whole slide show of your
program in action. It will seem like the
program itself is running.
Each screen is in 80x25 character mode,
not bit-mapped graphics. All 250 charac¬
ters and attributes are available from
scrollable lists which pop to the screen. All
commands are layered in Lotus-style pop¬
up menus, with frequent choices mapped
to the function keys as well.
Screen areas can be blocked for cut and
paste or filled with color or characters,
even made to blink. Slides of oft-appearing
segments can be made for overlaying on
other slides, and any slide may have
several overlays assigned to it. Slides can
be shuffled, deleted... many quick tools to
save time, disk space.
Slides can proceed at time intervals or in
response to keystrokes, and depending on
a user’s response, you can tell the program
read after write option to verify accuracy,
useful in gritty environments like manufac¬
turing floors; file password to deny unau¬
thorized access or read only; and data
encryption to assure network privacy.
Btrieve's foundation is a balanced-tree
indexing scheme, conceded to be the fast¬
est search technique devised (it will find
any key in a million-plus item index in four
or less accesses). Btrieve takes complete
charge of all file creation, indexing, read¬
ing, writing, insertion, deletion, space
recapture, and forward and backward
searching based on full or partial keys. It
builds commands right into the language
you use in the form of functions you call to
tell Btrieve what to do.
Btrieve has mainframe specifications! A
single file may have up to 24 indexes. Seg¬
ments of keys may be indexed. Each
index can independently accept or block
duplicate keys. Fixed record lengths can
be up to 4090 characters; variable length
records 64k; indexes 255 characters; files
up to 4 billion bytes. It can even extend a
file across two drives—even two hard
disks!
Interfaces to C, Pascal, BASIC, and
COBOL with single purchase; sample pro¬
grams in all four languages.
The network version works with any net¬
work that supports the MS-DOS 3.1 file
sharing function.
List PC
Code: Version: Price: Brand:
S0650 *245 *199
S0652 Network *595 *529
to branch anywhere in the slide sequence
to create innumerable paths through your
show.
Don’t make your ideas struggle through
coding to get to he screen. Dan’s Demo is
invaluable to prototype the program you
are about to write, to position all the labels,
choose the color decor, smooth out the
keystroke interface before it gets etched in
code. Or load the ’’capture” utility above
the operating system, snapshot the screens
of any running program, and load an
instant slide show into Dan’s program.
Makes tutorials a snap
Dan’s Demo has blossomed throughout
Lotus™, we hear. "Lotus [was] my major
test site”, says Bricklin.
Each purchase entitles you to redis¬
tribute fifty copies of the slide projector
program along with your show. Plain
manual, no binder, to keep the price low
because Dan thinks everyone should have
one (he’s right!). You’ll wish he had Demo
then and left VisiCalc for now. (Needs
256k).
Ask for: List: PC Brand:
N0100 *75 *69
GREENLEAF
LIBRARIES
FUNCTIONS
New 3.0 has 225 functions in both C and
assembler source as well as library format.
We have versiors for Lattice, Microsoft,
C86, Mark Wms. New emphasis on tighter
functional groupings to minimize excess
baggage of functions loaded whether used
or not. Manual's 250 pages now help select
functions, as do demos and bulletin board.
32 DOS extensions: file and directory
manipulation for 2.0 and 1.1. 23 Screen
Functions: Select mode, page, mono¬
chrome or color, palette; cursor shape,
positioning; clearing and scrolling; pixel
get and put; read light pen. 60 String
Functions: Manipulation of strings,
including center and justify; efficient list
operations whicn add, delete, and sort
pointers to strings for top speed. 50
Graphic & Printing Functions: Primitives to
access all grapliics; typeface, formatting,
and forms control. Plus keyboard status
and function key assignment, time and
date algorithms, read registers, memory
size, peek and poke.
Ask for: list: PC Brand:
S0770 *185 *139
COMMUNICATIONS
Want your application to communicate
with other users or remote date bases?
Now you can build asynchronous
communications right into your C
programs! Ovei 60 functions and demo
programs in both C and assembler source
code set up an interrupt driven scheme
with separate transmit and receive ring
buffers (characters are simultaneously
loaded at one end and transmitted from
the other, or vice versa) for an arbitrary
number of ports;. Interrupt control means
you can download a record, then halt the
incoming stream to file it, display it, let the
user tamper with it, send it back up line. It
all happens witlirn the context of your pro¬
gram. Goodbye separate communications
software.
The Greenlecif Comm Library supports
ASCII or binary, any parity, any word
length, 8250 UARTs, all four Lattice C
memory models, Hayes 300,1200,1200B and
other modems.
Its 80-page manual has examples of each
function and guides you through
asynchronous communications.
Ask for: List: PC Brand:
S0750 *185 *139
BASTOC opr^zes'.
Translates BASIC
Programs Into C
F or a trifling price, BASTOC™ will
move truckloads of BASIC code over
to C. It is a translator which takes in Micro¬
soft Extended or CBASIC and emits pure
Kernighan & Ritchie C for the Lattice com¬
piler. It will optionally convert your pro¬
gram into a single monolithic C function or
will decompose it into separate functions,
one for each GOSUB label.
Version 2.0 adds optimization, with dra¬
matic reductions in execution time. It con¬
verts to C integers those numeric
variables it finds in BASIC programs
which really do not need floating point. It
eliminates unreachable code. Where
BASIC uses full assignment statements to
increment and decrement counter, BAS¬
TOC converts to C’s compact form, nested
in other statements. Strings are dynami¬
cally allocated in the target program, rid¬
ding your application of BASIC’s catatonic
halts for garbage collection.
BASTOC will try to create structure of
even the most convoluted BASIC code,
and writes any indigestible statement into
the C output as a comment accompanied
by an explanation of the problem. Also,
you can optionally tell BASTOC to insert
BASIC source lines into the C target as
comments, a dandy way to learn the dif¬
ferences between the lanauaaes.
Specify: List: PC Brand:
S0375 & Which BASIC *495 *399
PANEL
Feature-Laden
Screen Design Tool
T he newest version of this premier pro¬
gramming tool lets you layer your
screen designs with up to ten overlapping
images, making it easy to background a
screen with pop-up lists, help boxes, and
alternate sets of input fields.
Writing your own screenware is a good
way to blow completion dates and profits.
Panel™ works with you interactively to set
up foolproof screen displays and data en¬
try forms rapidly. It tests your form to prove
that it (and test data) behave correctly, then
converts the finished work into C source
code for incorporation into your applica¬
tion. Compile with Lattice or Microsoft.
Wonderfully diverse attributes may be
selected for any field — size, data type,
color, of course, but also conversion of
input to upper case; clearance of existing
data when new entry is started; masks for
standard formats (eg, dates, phone num¬
bers); a choice of styles for numeric fields;
phrases which fill in when their first letter
is typed; multiple-choice lists from which to
choose a field fill-in by cursoring a high¬
lighted bar. Fields may be multi-lined (eg,
name and address as one field) and
scrolled if larger than the screen space
allotted them.
Panel builds in a user interface for
keystroke movement within and between
fields, and supplies extensive validation
routines for checking user field entries —
in source code, so you can tack on your
own unique variants. Screen designs may
be dynamically loaded from file, or com¬
piled into a program, and version 6 has
optimized code to quicken display speed.
The whole package is wrapped in a
monitor and keyboard customization
package to tailor your application for other
equipment. Panel. A superior productivity
tool now bigger than ever.
Ask for: List: PC Brand:
S0400 *295 $ 229
BTRIEVE VERSION 4.0!
Queen-B File Manager Abdicates Royalties
I his queen of b-tree file managers was
a unapproachable to programmers for
whom royalties would ruin profit margins.
PLINK86 & PLUS
Dynamic Cache Overlays
So it's quite a ukase indeed that one need
no longer pay a tithe to incorporate
Btrieve™ in applications.
Now there is version 4.0, which hugely
speeds DOS interaction, especially for
large files with multiple keys. It also adds
support for variable length records of vir¬
tually any length. Other new features: a
PRICED TO SAVE YOU MONEY, wa.
SHIPPED FAST ANYWHERE.
RUN/C PROFESSIONAL VERSION
Interpreter Now Accesses Binary Libraries
LATTICE C VERSION 3.0
Major Upgrades to the Best Selling C Compiler
R UN/C was an innovator for convert¬
ing inaccessible compiled C to an
interpreted language as easy to grab
hold of as BASIC. Great for learning,
but a problem remained for pros An
interpreter expects nothing but source
code, and that put the vast resource of
professional binary libraries off limits.
No longer: RUN/C Professional™ has
the tools dynamically to load and unload
multiple binary function libraries while
in its interpreter. Your code can now
reach for functions in the commercial C
libraries like C-Food Smorgasbord™ -
opposite— potentially any library com¬
piled with Lattice’s large model. How?
The manual shows how to develop the
interface to a library, using the Lattice
compiler (a must!). How about your own
archive of functions? No reason why not.
The RUN/C Interpreter
The interpreting engine lies at the
heart of both the improved original
RUN/C and the new Professional
version. Its creators had the inspiration
to make once formidable C behave on
screen much like PC BASIC with a full¬
screen editor like WordStar® . Just
create a program and RUN it. If it
stumbles, LIST it, EDIT it, add lines,
delete lines, RUN it again, fix it again.
Use familiar commands like LOAD,
MERGE, SAVE, FILES, even TRON and
TRACE, and a free profiler.
RUN/C is ideal for rapid program
development. Put up code at high
speed, tinker and re-arrange, try out
things devil-may-care, and let RUN/C
find your typos and malaprops.
RUN/C has a treasury of functions
built into the interpreter — over 100
paralleling the most used functions
found in standard compiler libraries. So
when and if the time comes to compile,
your source code will find counterparts.
There are lots more features — system
interrupts, a shell command to invoke
any operating system command without
leaving RUN/C, even the ability to load
a preferred editor in parallel and switch
back and forth.
RUN/C Standard Version
Straight RUN/C has all above but the
Loadable Libraries™ docking module.
It utilizes source code only, whether
created by its own editor, or from any
ASCII file, such as programs you've
already written, or commercial libraries
which supply source code.
It makes a splendid teacher. The
manual has not just instructions how to
use RUN/C, but its 500-plus pages
provide a thorough-going demonstra¬
tion of the C language itself. Every
feature, of C or RUN/C, is accorded its
own micro-chapter. Over 100 of these
chapters are devoted to RUN/C’s built-
in functions, and every one lists a sample
program showing how it is used. The
programs are also on the disks. So as
you read them in the manual, you can
run them on the screen. (Needs
180k-256k recommended.)
RUN/C Professional
RUN/C Pro has every feature of
RUN/C regular plus the binary library
link-up and an extra level of debugging
aids. They are ingeniously installed
behind a built-in function, so you can call
for debugging conditionally. The called
function paints a menu of debugging
tools to choose from, including immedi¬
ate mode to display variables, single-
step tracing, and changing of variables.
RUN/C Professional can tackle
projects of any size. Use it as a creative
front end to feed a continuous stream of
source code into compiled modules.
Only the source work in progress is still
interpreted; the finished modules will
whiz by at object speeds. It will change
how you work. (320k minimum and 512k
recommended to fit libraries.)
RUN/C: quite a run for your money.
List PC
Ask for: Price: Brand:
S0910 RUN/C Classic *120 *109
S0950 RUN/C Pro *250 *185
L attice has labored and come forth
with the long-awaited Version 3.0 of its
top-rated compiler. A long list of enhance¬
ments, adoption of the ANSI draft stan¬
dard, documentation rivaled by few, and
add-on libraries matched by none in
sheer quantity restore Lattice C™ to its
leadership role as the C compiler to beat.
Lattice now embraces key UNIX™
enhancements which have entered the
language since Kemighan & Ritchie: void
functions returning no value, enumerated
data types to assign stepped values to var¬
iables, the ability to pass data between
structures by assignment statements. And
3.0 adopts checking of external function
arguments by data type as proposed by
ANSI to kill bug swarms when modules
join up at link time.
The greatly expanded libraries, now
comprising 325 functions(!), enable the file
sharing and record locking provisions of
DOS 3.1, provide a full complement of
transcendentals, and a host of utilities to
mimic the UNIX and XENIX™ environ¬
ments.
Lattice now delivers smaller .EXE files,
curing one past complaint, boasts very
fast link times and a more efficient aliasing
algorithm,
The compiler now defaults to the ANSI
proposed standard when you need a strict
mistress, but command line options toler¬
ate straying. New options generate code
to use 80186 and 80286 features, and the
OUTSIDE US.?
The dollar is weaker. In your currency, our
prices are lower than ever. PC BRAND ships
anywhere. We’ll prepare the export documents
and ship to you or your agent by air freight,
courier, or air parcel post. Pay by credit card or
wire funds (see “Terms” below).
The GSS GRAPHICS SYSTEM
Leave the Driving to GSS
G SS™ has reconfigured two compo¬
nents of its comprehensive graphics
tools to conform with the more advanced
ANSI Computer Graphics Interface (CGI)
standard.
At the heart of the system is now the
Development Toolkit which contains all
language interfaces and device drivers
for keyboards, mice, joysticks, tablets,
printers, plotters, cameras, and more.
Drivers now house all management of vec¬
tor graphics (plotters) and bitmaps used
by raster input devices (scanners) to insu¬
late completely the application program
from concern for device idiosyncracy. No
one else has implemented CGI that way. It
means programming remains generic;
just switch drivers and the same program
will drive a different device, including
intelligent controllers which do not want
micro instructions.
GSS Kernel™ conforms to level 2b of
ANSI’s Graphical Kernel System (GKS)
and contains all its needed drivers and
language bindings. Kernel has macro
level tools to draw and color an object,
store the sequential instructions, and
recreate the object on its own, as well as
segment it, transform it, etc., all the while
returning data on attribute settings, sys¬
tem and device status. So powerful, a sin¬
gle command may represent several
score lower level statements.
Plotting has the equivalent GKS tools for
graph and chart generation and their cap-
ANSI CGI STANDARD
tioning: hand it apples and oranges, say
"pie", and it bakes the numbers into a
digestible display for screen or plotters.
Kernel and Plotting have tools to convert
images they create to ANSI Computer
Graphics Metafiles (CGMs), a tokenized
standard for storing every form of graphic
image as data. The Metafile Interpreter
reads the contents of a CGM and inter¬
prets it with full CGI capability for re-crea¬
tion on various devices, and you can cut
and paste before display.
Quality software? IBM thinks so. They
sell the GSS series under their own label.
Unit royalties and annual fees have
been instituted for redistribution. Call for
schedule. Needs 256k.
List PC
Ask for: Price: Brand:
GS010 CGI Dvlpmt Toolkit *395 *339
GS020 Kernel System *495 *419
GS030 Plotting System *295 *249
GS040 Metafile Interpreter *250 *209
8087 is of course sensed and utilized if
aboard.
Lattice has enjoyed pre-eminence so
long that developers have created far
more tools to marry into Lattice C than any
other compiler. Programmers now have
an enormous resource of libraries and util¬
ities to use with Lattice to speed their
work. William Hunt, in his exhaustive anal¬
ysis of 12 compilers in the 1/86 issue of the
PC Tech Journal awards Lattice the only
"very good" rating for add-on library
availability. He sums up with this all-
around accolade: "a fine product to con¬
sider for the production of important appli¬
cations.”
Ask for: List: PC Brand:
S0100 $500 $GALL
BETTER BASIC
New Version Compatible
with Microsoft BASICs
T his hearty implementation provides a
real alternative to technical languages
like C. It melds the most useful features of
C, Pascal, and Modula 2 into BASIC, while
retaining the familiarity of a language
already known to millions. And now Ver¬
sion 2.0 is 100% compatible with Micro¬
soft’s GW™ BASIC and IBM BASICA
including graphics, sound, and assembly
language calls. Just load old programs
and run. Save and they are converted to
BetterBASIC.
It’s big: BetterBASIC’s hugely expanded
features require 192k; your programs can
go all the way to the PC’s full 640k. It's
comfy: Behaves like Microsoft BASIC at
the interactive level, with a full-screen edi¬
tor, direct statement execution, and always
poised to RUN. It’s fast: BB is an incremen¬
tal compiler—unlike with interpreters
each statement is checked and compiled
just once. The Sieve benchmark runs six
times faster than with Microsoft.
BetterBASIC® has C-like structures for
reference to entire records so say good¬
bye to FIELD, MKI$, CVD, LSET, etc. It has
"procedures" summoned by name unlike
GOSUBs. Lots more features: built-in
linker for compiled modules; trace;
debugging breakpoints; cross-reference
command; 32k strings; DOS and BIOS
calls and interrupts; recursion.
List PC
Ask for: Price: Brand:
S1200 BetterBASIC *195 *169
S1201 Run-time Module *250 *239
S1202 8087 Interface * 99 * 89
S1205 Btrieve Interface * 99 * 89
Need terms? On-the-spot credit to
most public companies, governmen ,
educational, TTfew thousand words
Tawr y ou gotta admit, we go to great
lengths tolnow programmer tools.
TERMS AND CONDITIONS OF SALE
Licenses: Each price is for a license to use a prod¬
uct on a single computer and does not constitute
its ownership. We will inquire for you about site
licenses. Except as otherwise indicated or where
follows the Product Code, products may be
used to create programs for distribution without
royalty payments or additional licenses, provided
said programs do not substantially replicate the
products themselves.
Compatibility: PC BRAND’S standard products
are designed to operate with the IBM® PC, XT or AT
under PC-DOS and require no more than 128k of
RAM unless indicated. Non IBM machines using
MS-DOS: contact manufacturer about precise dif¬
ferences so we can advise.
Returns: See box page one. Defective parts will be
replaced. Please call for authorization to return a
product for refund.
Payment: We honor MasterCard, Visa, American
Express (no surcharge), checks in advance, or
funds wired to PC Brand, c/o Chemical Bank, 126
East 86 St., New York, Account 034-016058. COD
(U.S. only) for cash, money order, certified check
(no fee). NY State, add sales tax. Purchase orders
accepted from larger corporations and institutions
at our discretion if you agree to net 30 days plus 2%
a month late penalty thereafter.
Shipping & Handling: U.S.: UPS Surface: 1st
product $6, each add’l $3. UPS 2nd Day Air: 1st
product $10, each add’l $4.50. UPS Next Day Air or
Federal Express 1-2 Day Air: 1st product $18, each
add’l $6. FedEx Next Day 10 AM: 1st product $28,
each add’l $7. International: Charges vary by
destination and carrier. $10 per shipping container
for export forms. Air parcel post at your risk beyond
collected insurable amount.
For Orders, Literature, or Catalogs, Call Us at...
800 PC-BRAND
That’s (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311
Telex: 667962 (SOFT COMM NYK)
©1986 PC BRAND
Prices, terms, and specifications subject to change without notice.
CIRCLE NO. 172 ON READER SERVICE CARD
His company sent him on a
mission to make two offices
1800 miles apart, work like one.
Every company has a PC systems expert like him
responsible for directing microcomputing
strategies and budgets. His product recommen¬
dations are as good as purchase orders.
needs, written by micro systems experts he *
can trust.
Inside two recent issues, he finds clues to
his company’s communication problem: Augie
Hansen’s revi ew of the new communications
package, “Relay”—and a preview of David Sch-
waderer’s long awaited book, “Digital Communi¬
cations Programming for the IBM PC.”
Help him face the challenge
It’s not only articles he reads for
clues. He explores the informa¬
tion he finds in ads, too.
Ads in PC Tech Journal act
as signposts to indicate prod¬
ucts that can help him accom¬
plish his task (whether it be a
problem involving communi- Jm .
cations, custom boards, £m
mass storage, or operating Jf ■
systems).
And PC systems experts
find your ad without a lot "
of digging around. Because
every product advertised
is listed under its proper
category in the product
index—just one more
reason why sophisticated
systems experts turn to PC Tech Journal
when they’re ready to huy.
Accomplish your mission
Don’t he the missing clue that can solve this
PC expert’s problem—and 100,000 other sys¬
tems experts like him who read PC Tech Jour¬
nal.
Call your PC Tech Journal sales representa¬
tive, right now, and let Tech Journal guide
customers to where you want them to go—
right to your products.
OURNAL i
Unmatched power in your market
Ziff-Davis Publishing, One Fbrk Avenue, New York, NY 10016 (212) 503-5100
COMPUTER GRAPHIC » DOV JACOBSON
DATA MANAGERS AS
DEVELOPMENT TOOLS
A Data Manager for
Flexible
Designs
156
PC TECH JOURNAL
KMAN’s richness of features makes for a
powerful and flexible product , but one that can
become overly complex without careful use.
I magine a programming environ¬
ment that is rich with functions and
modern structures complete* with a
data manager that handles multifile
accesses by itself, leaving the user to
worry about program flow rather than
the mechanics of file retrieval. Add to
this a built-in spreadsheet or a powerful
editor that handles program revisions
interactively within the programming
system itself. Top it off with the ability
to build a communications facility or
perhaps a business graphics module
directly into an application. This is what
KnowledgeMan/2 is all about.
KnowledgeMan/2 (usually short¬
ened to KMAN) is a product of Micro
Data Base Systems, Inc., the veteran de¬
signer of relational and postrelational
database systems for mainframes, minis,
and micros, mdbs hi, the company’s
postrelational database and application
development system, is considered a
standard in the micro- and minicomput¬
er industries. In many ways, KMAN is a
subset of mdbs hi features, and the two
programs can interchange data easily
through the optional K-Comm commu¬
nications package.
The basic KMAN package includes
a data management system (with query
and programming languages) as well as
a fully integrated spreadsheet. Optional
utilities include K-Text, a full-screen text
processor; K-Graph, a business graphics
package; K-Paint an interactive forms
generator; K-Report, a custom report
generator; K-Comm, a communications
module; and K-Mouse, a mouse driver/
menu developer. Also available are
K-Run and K-RunX, which are runtime
systems for KMAN and the optional
modules, respectively.
The fact that all the K-modules are
sold separately suggests that the KMAN
RICHARD N. AARONS
system is only loosely integrated; this is
far from the case. The system actually
comprises one .EXE file and 18 over¬
lays. Most of the optional modules are
made up of additional overlays.
Unique to this approach to integra¬
tion is the Memory Overlay Manage¬
ment utility (MOMAN). It is used to add
or remove the code contained in over¬
lay files to the KMAN.EXE file, thereby
alllowing the user to customize the sys¬
tem by selecting particular features.
When KMAN is called at the DOS
prompt, KMAN.EXE is loaded, and it, in
turn, calls up overlays as needed to exe¬
cute its commands. This works fine—es¬
pecially for hard-disk systems in which
overlay load time is insignificant.
If the user has plenty of memory
available, the MOMAN utility can add
the overlay file code directly to the
KMAN.EXE file. Then the appropriate
overlays are automatically loaded when
KMAN is called from the DOS prompt.
The user can elect to consolidate any
number of overlay files into KMAN.EXE.
This action increases the size of
KMAN.EXE and, consequently, the time
required to load it. Once KMAN.EXE is
loaded, however, the overlays are al¬
ways in memory and available within
the KMAN environment instantaneously.
Some KMAN users compromise by
using MOMAN to add only those over¬
lays that they use most often.
KMAN installation is relatively sim¬
ple—especially in the recommended
hard-disk environment. The program,
its utilities, and demonstration files are
provided on four diskettes. The op¬
tional modules are provided in separate
packages, each containing one program
diskette and appropriate documentation
pages and tabs that can be added to the
master documentation.
In the IBM PC, PC/XT, and PC/AT
hard-disk environments, installation re¬
quires that all files be transferred from
the distribution diskettes to a hard-disk
subdirectory, that an appropriate driver
be selected for the user’s monitor type,
that the KMAN subdirectory name be
added to the PATH command in the
AUTOEXEC.BAT file, and that the
CONFIG.SYS file be updated to include
the FCBS=255,0 command.
KMAN provides an installation util¬
ity that automates the task by asking
where the user wants the KMAN files
(subdirectories, etc.) and what type of
monitor is being used. The installation
routine updates the CONFIG.SYS and
AUTOEXEC.BAT files, but it can confuse
matters by adding its own PATH com¬
mand to AUTOEXEC.BAT rather than
appending its directory name to the ex¬
isting PATH command.
KMAN’s distribution diskettes are
not copy protected, thus easing the in¬
stallation process appreciably. MDBS
also provides utilities that allow users to
customize the standard keyboard or to
set up the program for use with non¬
standard consoles.
KMAN SYNERGY
The designers of KMAN talk of synergy
when asked about the internal design of
the data management system and the
optional utilities. KMAN has been de¬
signed so that any command or feature,
including the optional packages, can be
invoked from anywhere in the KMAN
environment. The system has no hier¬
archical structure—no “top level” to
which the user must return in order to
invoke commands. For example, a
spreadsheet cell can contain a string, a
variable (of any type), or an entire pro¬
gram. Data can be moved from data file
JUNE 1986
157
KMAN
to spreadsheet to text processor to
communications module.
KMAN supports four classes of vari¬
ables, each of which supports four vari¬
able types. Variable classes—working,
predefined, cell, and held—are an in¬
trinsic part of the KMAN programming
scheme. Variable types are numeric,
string, integer, and logic.
All classes and types of KMAN vari¬
ables are available for use in the inter¬
pretive environment. In fact, the vari¬
ables, functions, and programming lan¬
guage elements can write programs that
do not refer to data table hies. For ex¬
ample, this is a valid KMAN program:
LET a = 12.0
LET b = 15
OUTPUT a + b
Programs either can be entered in¬
teractively or stored in text hies called
perform hies. These are given the ex¬
tension .IPF and can be run at any time
within the KMAN environment simply
by entering the command PERFORM or
its synonym INCLUDE followed by the
perform hie name.
The number of working variables
available at any given time is limited
only by available memory. Working
variable names must begin with a letter
of the alphabet and can be up to eight
characters long. In the KMAN environ¬
ment, working variables are loosely
typed; these variables derive their type
through the assignment of initial values.
The user should assign types to the
variables at the beginning of a routine.
KMAN also allows dynamic variable
typing—that is, a variable can taka on
the type of its current contents. There¬
fore, a variable’s type can change over
KjTW has been designed
so that any command or
feature can be invoked
from anywhere within the
KMAN environment.
the course of a program. These matters
of typing become important in screen
forms when data are being presented
on the screen or when screen input is
being used to assign values to variables.
The class of predefined variables
can be divided into environment and
utility variables. As their name implies,
environment variables control the pro¬
gramming environment. The basic
KMAN package has 60 such variables.
Brand New From Peter Norton
A PROGRAMMER’S EDITOR
that’s lightning fast with the hot
features programmers need
Direct from the
man who gave you
The Norton Utilities ,
Inside the IBM PC,
and the Peter Norton
Programmer's Guide.
INORTON
EDITOR
U This is the program¬
mer’s editor that I wished
I’d had when I wrote my
Norton Utilities. You can
program your way to
glory with The Norton
Editor.”
■■ !!§§ | ■
Easily customized, and saved
Split-screen editing
A wonderful condensed/outline display
Great for assembler, Pascal and C
Peter Norton Computing, Inc., 2210 Wilshire Boulevard,
Santa Monica, CA 90403,213-453-2361. Visa,
Mastercard and phone orders welcome.
The Norton Editor™ is a trademark of Peter Norton Computing, Inc. © 1986 Peter Norton Computing.
The environment variables control
a variety of settings influencing I/O to
and from the console, printer, and disk
hies; default mathematic precision and
decimal positions; U.S. versus British
date and decimal notation; default string
length; foreground and background
colors in the spreadsheet, text, and
graphics modes; bell warnings; the
availability of help menus; and other
miscellaneous settings.
All environment variable names are
in the form E.AAAA. The E-dot sequence
identifies the variable as an environ¬
ment variable, and the AAAA sequence
describes its function. For example, set¬
ting E.OPRN = TRUE directs output to
the printer, setting E.STAT = TRUE
turns on automatic statistics generation,
and setting E.BELL = TRUE sounds the
bell upon invalid input.
Predefined utility variables, which
begin with the character #, normally
contain the results of some process,
such as the latest statistics collected or
information about the status of the cur¬
rent KMAN session. Many are updated
automatically by KMAN. For example,
the utility variable #FOUND contains
the value TRUE if a search of a table
found a record and FALSE if the record
was not located. #DATE normally con¬
tains the system date, but the user may
change the value, as in this example:
LET #DATE = “01/01/33.”
Cell variables contain the values of
spreadsheet cells. The basic KMAN
package includes an integrated spread¬
sheet holding a maximum of 253 rows
and 255 columns. It can be used as a
stand-alone spreadsheet or in combina¬
tion with data tables or the optional text
and communications packages. A subset
of information contained in a data table
can be converted to a specified set of
cells in a spreadsheet. The information
can be manipulated in the spreadsheet,
then moved to the text processor
(K-Text) for inclusion in a document.
The document then can be distributed
electronically using K-Comm. Of course,
the whole process can be reversed.
Interestingly, KMAN treats cell vari¬
ables as a two-dimensional array. For
example, #(1,1) is cell #A1, while
#(3,2) is cell #B3, and so on. The sub¬
script of the cell array can be an ex¬
pression as well as a constant, so pro¬
grams can reference the spreadsheet
just as any other array.
As noted earlier, the value of a
spreadsheet cell can be a simple num¬
ber or string, a numeric or string
expression, or an entire program (pro¬
cedure). A spreadsheet cell could con¬
tain the formula format #B3 + #C4,
158
CIRCLE NO. 150 ON READER SERVICE CARD
PC TECH JOURNAL
BRADY Speaks
Your Language
We can help you buff up your BASIC.. .Put a finish on your FORTH...
Conquer C... Succeed with Assembler... And more! Just call toll-free
or use the coupon to order today!
1. The perfect intro to CP/M-86
even if you’ve never programmed
in assembly language before.
Includes sections on sequential
file handling and memory manip¬
ulation, and more. $21.95
2. Beyond the basics, this guide
explores new structured concepts
to analyze and solve problems in
C with tools of modularity, input
and output functions, arrays and
structures, and bit manipulation.
$21.95
3. The special focus is on screen
management and data retrieval.
You’ll find a library of reusable C
software tools to help create inter¬
active systems, including file
management, screen forms, etc.
$21.95
4. The best C articles from the
highly respected Dr. Dobb s
Journal dealing exclusively with
C language and programming
techniques. $24.95
Handbook of
P| A I ^
forthelBM PC
5. Our best-selling assembler
book has been made even better!
It now includes 30 assembler
Macros and version 2.0 of the
IBM Assembler. $21.95
6. For everyone who thought APL
was too unorthodox to bother
learning, this guide will unlock the
secrets to its logic and show you
how to write the fastest, most
compact code. $22.95
7. The author of our best-selling
assembler books now demon¬
strates his detailed and accurate
style on the 80286 chip. $21.95
Now at your book or computer store. Q||il_CO^ -HOP Q
Or order toll-free today: WWW wW£kW
8. PC magazine calls it: “A truly
remarkable book...A treasure
trove of useful programming infor¬
mation on the IBM PC.” $22.95
In New Jersey:
800-624-0024
[""brady COMMUNICATIONS COMPANY, INC.
c/o Prentice Hall
P.O. Box 512, W. Nyack, NY 10994
Circle the numbers of the titles you want below.
(Payment must be enclosed; or, use your charge
card.) Add $1.50 for postage and handling.
Enclosed is check for $_or charge to
□ MasterCard □ VISA
Acc’t #_
Signature.
Name_
Address _
City.
State _
(New Jersey residents, please add applicable sales tax.)
Dept. 3
Exp. date.
Zip.
GR-BLPT-CA(4)
1 (0-89303-390-1) 2 (0-89303-473-8) 3 (0-89303-612-9) 4 (0-89303-599-8)
5 (0-89303-575-0) 6 (0-89303-567-X) 7 (0-89303-484-3) 8 (0-89303-510-6) J
iiiiiTiiMiiiiiiMiiMm
CIRCLE NO. 161 ON READER SERVICE CARD
KMAN
FORTRAN
PROGRAMMERS
EVER FEEL LIKE YOUR
PROGRAM WILL NEVER
FINISH COMPILING?
Your valuable time is spent waiting
endlessly for your programs to com¬
pile. As your waiting increases you fall
further and further behind on your PC
FORTRAN project.
If pride in your work and meeting
deadlines are important to you then
you can’t afford to be without F77L
any longer. With F77L we have not
only developed an unbelievably fast
compiler but we did it without sacri¬
ficing features, diagnostics, or the
speed of execution. This uncompro¬
mising attitude is evident in the
quality and performance of F77L.
Whether you are downloading from
mainframes or developing on the
personal computer, you can
appreciate the importance of
compiler speed.
PHONE FOR DETAILS about
VERSION 2.00 and our NEW MANUAL
F77L
“THE PROGRAMMER’S FORTRAN”
$477.00
Requires: PC/MS-DOS, 256K, 8087
TO ORDER OR FOR MORE INFORMATION
(213) 541-1200
Lahey Computer Systems, Inc.
31244 Palos Verdes Drive West
Suite #243
Rancho Palos Verdes, CA 90274
Serving the FORTRAN community since 1969
NUMBER TWO IN A SERIES OF ADS
CIRCLE NO. 128 ON READER SERVICE CARD
160
meaning this cell should show the sum
of the values in cells #B3 and #C4.
However, a cell also can contain :he
command PERFORM xxx, where m is
the name of a perform file stored, on
the disk. Then, the cell would take on
the returned value of the program.
T he value of a spreadsheet
cell can be a simple number
or string, a numeric or
string expression, or an
entire program (procedure).
The spreadsheet command line
accepts any spreadsheet command or
(more important) any valid KMAN com¬
mand or programming structure.
Spreadsheet items, such as auto-recalcu¬
lation, direction of calculation, and fore¬
ground and background colors, are all
controlled by environment variables.
The final variable class is field.
Field variables can be string (STR) with
a maximum length of 65,534 characters,
numeric (NUM) with up to 14 digits of
accuracy, integer (INT) with up to 14
digits, or logical (LOGIC).
TABLE STRUCTURES
KMAN maintains data in flat tables that
are unlimited in number. Each row in a
table represents a record; each column
a held. In the sample application devel¬
oped by PC Tech Journal to test data
managers, information about magazine
authors, articles, and issues is kept in
separate tables. (For a description of
the sample application, see “Sample
Application Specifications,” August 1985,
p. 48. The article also is available for
downloading on PCTECHline.) In the
KMAN world, each table has a name
consisting of up to eight alphanumeric
characters followed by the extension
.ITB. In the sample case, the tables are
named Author.ITB, Article.ITB, arid
Issue.ITB. Tables automatically reside in
a fully encrypted format on disk.
The KMAN command USE opens a
given database for use in the KM\N en¬
vironment—for example, USE Author.
Once a table is put into use, the helds
of its current record become avai lable
as held variables in the programming
environment. The table and held names
are combined to produce a qualihed
held variable name. If, for example, the
last-name held in the Author table is
Lname, the fully qualihed held variable
name is Author.Lname.
Theoretically, a database comprises
the information in one or more tables
and the relationships among the infor¬
mation in multiple tables. In KMAN,
each table exists as a single DOS hie.
The relationships between the contents
of the hies are created by the KMAN
user upon requesting data with either
the query language at the interactive
prompt or commands in a program. A
header begins each hie, dehnes the
helds in the table, and stores informa¬
tion about the table for the KMAN sys¬
tem. The header information is, in ef¬
fect, a data dictionary for each table.
Unlike other data managers, however,
KMAN has no master dictionary contain¬
ing information about entities, relations,
and hies (tables) within a database.
A KMAN table can be dehned inter¬
actively simply by entering the word
DEFINE. KMAN prompts for the name
of the table and the hie in which the
table is to be stored, then prompts for
entries for up to 255 helds. A held is
dehned by giving its name, type (STR,
INT, NUM, or LOGIC), the size of a STR
held, and, optionally, a label and a data
picture. Field dehnition is ended by
entering the command ENDDEF.
Alternatively, the DEFINE com¬
mand, the held dehnitions, and END¬
DEF can be put in a procedure hie to
generate the table in a batch mode.
This is especially helpful when dealing
with databases that have a large number
of helds and complex data pictures.
Besides actual helds, KMAN tables
support virtual helds. Only the dehni¬
tion of a virtual held is carried in the
KMAN table; its value is calculated when
needed. Suppose a user wants to see
the monthly salary paid to each author
on a regular basis even though salary
and bonus information are kept only in
terms of annual totals. Monthly salary
could be dehned as a virtual held in the
Author table. Its dehnition might look
like the following:
Monsal NUM = (Salary + Bonus)/12
USING “dd,ddd”
Author.Monsal is now a legitimate held
variable for the Author table. While the
Salary and Bonus helds physically exist
in the Author table (and take up storage
space), the value of Author.Monsal is
calculated only when Author.Monsal is
used in a KMAN command.
Once a table has been dehned, rec¬
ords can be attached from text hies in
DIF format, BASIC data format, quoted
or unquoted ASCII format, or (with a
bit of editing) just about any other text
PC TECH JOURNAL
r
VTERM/220
Over 35,000 VTERM users, like Teradyne’s Financial Sys¬
tems Group, recognize the importance of critically evalu¬
ating a DEC terminal emulator. Demanding professionals
require high quality, reliable DEC terminal emulation.
After painstaking evaluation, Teradyne’s Gregg Prescott
said, “With VTERM’s speed, ease of use, hot key
and host control of file transfer, we can build systems
around VTERM utilizing distributed PC applications.”
Coefficient’s VT100 terminal emulator, introduced in 1981, was the first in the
industry. Our thorough attention to detail at every stage of the design, develop¬
ment and testing process has won us more satisfied users than all our competi¬
tion combined. Now, a new more powerful VTERM supports VT220 terminal
emulation. Powerful features include:
• Plug compatible VT220 and VT100 video and keyboard emulation with
customizable key mappings.
• Optional Tektronix™ 4010/4014 graphics terminal emulation.
• Powerful file transfer including the most thorough implementation of
KERMIT available on the PC, plus XMODEM, and our proprietary
protocol VTRANS with complete host-side software for VMS™ RSTS/E™
Quality makes all
other DEC terminal
emulators obsolete
RSXll M/M+™ and UNIX™
CIRCLE NO. 189 ON READER SERVICE CARD
Trademarks: DEC, VMS, RSTS/E, RSX11 M/M + , Digital Equipment Corp.;
Tektronix, Tektronix, Inc.; Lotus, 1-2-3,
Symphony, Lotus Development Corp.; dBase, Ashton-Tate, UNIX, AT&T, Bell Laboratories.
• Host data capture and conversion to Lotus® 1-2-3® Symphony®
and dBase®
• 132-column display via horizontal scrolling or optional video board.
• Scrollback buffer for redisplay of up to 2,000 lines (80 screens!).
• “Hot Key” toggle between host session and PC DOS.
• Programmable softkeys with script-like capabilities.
• Full support for multinational and national character sets.
Call 212-777-6707 ext. 150, to get the best there is in
DEC terminal emulation and communications software.
Coefficient
The Leader in DEC Emulation Software
Coefficient Systems Corporation
611 Broadway, New York, N.Y. 10012
KMAN
format. Files are exported to Lotus 1-2-3
by converting them to a text file in DIF
format and using the Lotus translate
utility. Sending Lotus data to KMAN
involves the reverse procedure.
An alternative is to create records
one at a time, interactively. CREATE dis¬
plays the field names and prompts for
keyboard entry. WordStar-style editing
commands are recognized as well as
some of the IBM keyboard’s special
keys (arrows, Home, End, Ins, and Del);
a utility, KEYMAN, can be used to rede¬
fine the function and control key set¬
tings. Although the user cannot design
colorful, complex screens with CREATE,
the default screen is fine for basic edit¬
ing and record creation functions.
Records can be deleted singly or in
sets with the MARK command. This sets
the special #MARK field to TRUE. When
the value of the environment variable
E.IMRK is set to TRUE, marked records
are ignored in all commands except
UNMARK, COMPRESS, INDEX, and
SORT. COMPRESS deletes all marked
records and recovers unused space.
However, all index files associated with
the table are obsolete after a compress
and must be rebuilt. If the user wishes,
COMPRESS and REINDEX can be added
to a shut-down procedure so that when¬
ever KMAN is terminated, all marked
records are deleted, their space recap¬
tured, and the indexes rebuilt.
A glance at the accompanying side-
bar reveals that KMAN is, for all practi¬
cal purposes, unlimited in record size,
field size, fields per record, and records
per field. However, it is almost a cer-
A though the user cannot
design colorful, complex
screens with CREATE, the
default screen is fine for
basic editing and record
creation functions.
tainty that a KMAN user will want to
change some field definitions as a data¬
base project progresses. KMAN really
shines here. Its REDEFINE command
can be used to add or delete fields, re¬
name them, or even change their type
or size. Obviously, deleting an existing
field causes the loss of data in that field,
changing the field’s size may cause
either fill or truncation of existing data,
GET THE BEST
DISK MANAGEMENT SYSTEMI,
AND STOP PLAYING AROUND.
Hide and seek is a great game, but why play it with your computer? You’ve been spending too much time
chasing after those remote files.. .mourning your mistaken erasures.. .trying to hide delicate work-in-progress.
Get back to business. Get FILE POWER.
Go ahead, compare it to Norton Utilities and Window DOS. You’ll find that FILE POWER is the most powerful and
complete disk management system around!
FEATURES
Norton
Utilities
Window
DOS
FILE
POWER
Sort
X
X
X
Encryption
X
Undelete
X
X
Buffer Extender
X
Copy Space Allocation
X
Disk Search
X
X
Path Macros
X
X
Time Display
X
Erase Prompt
X
Change Directory
X
X
X
Directory Display
X
X
X
So get down to work.. .more efficiently, more accurately, more powerfully.. .with FILE POWER. It’s a great way for
you and your computer to get serious.
SPECIAL INTRODUCTORY PRICE:
$59.95if you order before
Aug ust 31 , 1986!
Bruce Newman Company
425 E. 80th St., #2A
New York, NY 10021
Or phone: 212-772-2399
Bulk orders accepted.
All packages are sent UPS.
Add $5 for UPS blue.
New York State residents
add 8 3 A% sales tax.
CIRCLE NO. 107 ON READER SERVICE CARD
and changing a field’s type may result
in a new interpretation for the data
rather than its destruction.
Getting information out of tables is
the business of any data manager.
KMAN allows the user to obtain infor¬
mation either through interactive quer¬
ies or through the creation of proce¬
dures and programs. KMAN’s query lan¬
guage is similar to SQUDS, popular in
many mainframe database systems. Its
syntax looks like this:
VERB expressions FOR conditions SCOPE.
Suppose the Author table is in use
and is the default table. Suppose further
that the user wants to know the name
of each author who both makes more
than $4,000 monthly and lives in Con¬
necticut. The following command
LIST Lname Fname Monsal FOR Monsal >
4000 AND State = “CT”
would display a list in neat rows and
columns on the screen. This default list¬
ing uses the utility variable settings for
column headings. Alternatively, the user
could manipulate the environment vari¬
ables to send the list to a printer or to a
text file. CONVERT could be used in¬
stead of LIST to send the information to
a disk file in BASIC, ASCII, or DIF
format or to another table, or the list
could be sent to the interactive spread¬
sheet for further manipulation.
The LIST command shown above
gathers all records that meet the user’s
conditions. Another KMAN command,
OBTAIN, retrieves a single record that
meets those conditions. OBTAIN can be
used with FIRST, LAST, NEXT, or
NEXT(n) to get any particular record in
the group that qualifies.
OBTAIN FIRST RECORD
FOR Monsal > 4000 AND State =
“CT” WITH Fname Lname Monsal
would present the first record in the
group in the default edit format for
manipulation. If the WITH clause is
dropped, all fields are displayed.
If the environment variable E.SUPD
(suppress display) were set to TRUE,
the selected record would not be dis¬
played, but it would be made the cur¬
rent record, so its field variables would
become available for manipulation.
USING MULTIPLE TABLES
If all data could be kept in single, two-
dimensional tables, life would be much
simpler. But for better or worse, the
world is not flat and we must come up
with ways of arranging flat data files to
model multidimensional situations.
Consider the sample application, which
162
PC TECH JOURNAL
technical
in your job.
Ye$l Enter my s’
jOUKNAh.
Name-
Comp an Y
Ascription
address—- _.
State-
City-' "T DBiUmelatei
H payment enclo ^ g%p ertsih pC
Consult with the
, Addt ^—— _
e of *47.40-
, years (24 i*g>
lorn save 50/
-«*»» rd£ —
Why your next generation of
products should use our 5th
generation tools.
( The Arity Expert Systems Development j
Package J
(the Arity SQL Development Package /V l / ^ / / / f
(^/Prolog Com piler end Interne- I ' |f
Save 50% 011 ^
«>» —
^verytnonth, , hoW -to t
mu ill in i mi I i ii request detailed information
^^^^^Bgl!ompiler and Interpreter V4 . $795.00
Aritv/Prolog Interpreter V4.'. $350.00
Arity Standard Prolog.. $ 95.00
elopment Package. $295.00
Quantity Info
only
Aritv/Prolog Interpreter V4.. $350.
Arity Standard Prolog.. $ 95.
Arity SQL Development Package. $295.
Aritv Expert Syscerii Development Package . $295.
Arity Screen Design "toolkit . $ 49.
Interchange toolkit. $ 49
distribute
rious
tware for
:t,at
95.00
Aritv SQL
Dev
$295.00
rlopme
Arity
hekage
ntl
Design
$ 49.95
olkit
Arity File
$ 49.95
. 9
prices include shipping to all l
A residents add 5%
AMOUNT I
IOTAI
sales tax) (
ITiese
itics)
NAMF_
SHIPPING ADDRESS
CITY/STATE/ZIP_
TY/STATE/;
:/zn
i i/o ir\i rj/;i
TELEPHONE_
Payment: □ Check □ PO D AMEX □ VISA
Card#
□ MC
. Exn. date.
Signature-
How to keep a whole fleet of
IBM PCs up and running*
Introducing Fluke’s PC TESTER,
the 30-minute turn-key solution
for IBM® PC Troubleshooting.
Whether it's a bug in the monochrome
board, a sick system board, or a dead disk
controller board, Fluke’s PC TESTER can re¬
duce the hours you spend troubleshooting an
IBM PC to a remarkable 30 minutes or less.
No more messy “rat’s nest” of test clips to
clutter the bench; just one 40-pin plug in¬
serted into the 8088 socket, and you’re up and
running a comprehensive set of functional
tests on all three boards.
When a bad circuit is detected, PC TESTER’S
specially designed TECHPRO™ software
leads you straight to the bad 1C. Concise
guided-fault messages tell you which nodes
to test with Fluke’s signature probe. And PC
TESTER can be used by anyone, regardless of
experience.
Fluke’s PC TESTER consists of a TECHPRO Software pack¬
age and instruction guide for exclusive use on Fluke’s revo¬
lutionary 9000 Series Micro-System Troubleshooter along
with an 8088 microprocessor interface pod. Prices start as
low as $6,490 for the entire system. Software only: $1,500.
So if you’re repairing IBM PCs, or thinking
about it, take a close look at Fluke’s PC
TESTER. See how you can troubleshoot a
whole fleet of IBM PCs. At a price that makes
dollars. And sense.
For more information, call our toll-free
hotline, 1-800-426-0361. Or contact your
local Fluke Representative for a free demon¬
stration.
IBM and IBM PC are registered trademarks of International Business Machines Corporation.
TECHPRO is a trademark of Diversified Data Corporation.
IN THE U.S. AND NON-EUROPEAN COUNTRIES: John Fluke Mfg. Co., Inc., P.0. Box C9090, M/S 250C, Everett, WA 98206, Sales: (206) 356-5400, Other: (206) 347-6100.
EUROPEAN HEADQUARTERS: Fluke (Holland) B.V., P.O. Box 2269, 5600 CG Eindhoven, The Netherlands, (040) 458045, TLX: 51846.
© Copyright 1985 John Fluke Mfg. Co., Inc. All rights reserved. Ad No. 1002-9000
CIRCLE NO. 204 ON READER SERVICE CARD
KMAN
requires tracking magazine articles
and their authors.
A reasonable model of the real
publishing world can be made by con¬
sidering relations among the flat tables.
Many articles could have been written
by one author. A similar relation exists
in that many articles are contained
within a single issue.
These many-to-one relationships
are handled quite easily by KMAN’s
multiple table manipulation scheme.
However, in the PC TECH JOURNAL
sample application, more than one au¬
thor may work on a single article.
Therefore, authors and articles can exist
in a many-to-many relationship; KMAN
cannot handle this situation without
some programming help.
In some database systems, links
(relations) are defined when tables are
created. In KMAN, however, the links
are established with the query language
or from within a program. For example,
the link between the Author and Article
tables can be made on the author’s first
and last name fields. With a many-to-
one relation between articles and
authors, a list of all articles, their au¬
thors, and the author’s work phone
number would require a query similar
to the following:
LIST Author.Lname Author.Fname
Article.Title Author. Wphone
FROM Article FROM Author
WHERE Author.Lname = Article.Lname
AND Author.Fname = Article.Fname.
Control-breaks based on the author’s
name could be added and the environ¬
ment variables could be set up to route
output to various devices.
Working variables and math and
string expressions can be included in a
multitable list command. As a result, the
user is limited only by imagination and
time in establishing relations and mak¬
ing queries—as long as either a many-
to-one or a one-to-one relation exists
between the tables.
Because KMAN allows any number
of tables to be in use simultaneously
and allows command lines of any
length and because relations are estab¬
lished by the query itself, there are vir¬
tually no limits to what can be asked or
where the question begins. Extraction
time, however, places a practical limit
of three or four on the number of
tables to be queried simultaneously.
Selection time seems to increase
geometrically with the number of tables
accessed, because the tables are
searched sequentially. When index files
are used, however, the searches sub¬
stantially speed up. Indexing can help
only when a key value is involved in
the search. The good news is that any
table can be indexed without practical
limits on either the number of indexes
per table or the length of the index key.
The maximum index key length is
65,535 characters, although MDBS rec-
I n addition to its regular
working environment,
KMAN has its own set of
Pascal-like program control
structures and commands.
ommends that an index key be no
longer than 10 characters for fastest
processing. Indexes are maintained in
B+trees, and retrievals involving only
indexed values are extremely fast.
Indexes can be created or de¬
stroyed at any time. In order for an
index file to be automatically updated
along with the table, the file must be
mentioned in the USE command when
the table is opened, and the environ¬
ment variable E.INUP, which is used to
determine whether or not the index is
maintained along with record modifica¬
tion, must be set to TRUE.
PROGRAMMING WITH KMAN
In addition to the working environment
already described, KMAN has its own
Pascal-like program control structures
and commands, including WHILE/DO,
TEST/CASE, IF/THEN/ELSE, and PER¬
FORM/RETURN. Working variables can
be declared to be local to procedures;
otherwise they are considered global
variables. Field, cell, and predefined
variables are always global. Arguments
may be passed to procedures, and
procedures may call procedures to an
unlimited depth of nesting.
KMAN’s powerful macro capability
can be addictive. Any eight-character
string that begins with an alpha charac¬
ter, except KMAN key words, can be
used to name a macro. The contents of
the macro can be of any length—an en¬
tire program if the user wishes; further¬
more, macros may call other macros to
an unlimited depth of nesting. This
facility can be used to modify the com¬
mand language, to create user-defined
functions, to take care of repetitive ver¬
biage during a retrieval session, to exe¬
cute a series of commands used in
creating a report, or even to make the
DlfuDATa,
The Only Disassembler
That Tracks Down DATA!!!
• Fully disassembles both .EXE and .COM files!
• Performs recursive flow- and Segment Register data-trace to determine SEGMENT,
PROC & Data Areas (even within 'CODE' segments)!
• Outputs appropriate SEGMENT and PROC pseudo-ops at proper places within the
assembly-language output!
• Outputs data areas using most appropriate form of DB or DW (ASCII printable text
as a character string, others as their hex value).
• Chooses data lengths (DB or DW) to match byte or word data references in code,
allowing most memory references to be free of BYTE or WORD length operators.
• Outputs large, all-zero areas with “DB/DW nn DUP (?)” to prevent excessive out¬
put from large buffers, uninitialized arrays, etc.
• Fully labels both code and data. Labels are of the form 'Hxxxxx', where 'xxxxx' is
the hex offset of labelled item from the beginning of the program.
• Outputs code, data & pseudo-ops in IBM* ASM or MASM assembler format.
(Output may be directed to display, printer, and/or disk.)
• For IBM* PC*/XT* AT* & compatibles, 128K+ RAM, 1 or more disks, DOS 2.X+.
#8634-20 PC-DISnDATa 1.0 (SSDD 5-V4" diskette) and manual .$145
U.S. Funds Only. Add $3 shipping (U.S. & Canada), $10 (overseas air) per item. Ohio residents
please add 6% sales tax. 'Registered trademark, IBM Corporation
To order, phone (513) 435-4480 (M-F, 9 A.M.-5 P.M. EST), or
send check, money order, or VISA/MasterCard information
(name, street address (no P.O. Box please), card number,
expiration date, and your telephone number) to:
PRO/AM SOFTWARE __
220 Cardigan Road Professional Software for
Software Centerville, OH 45459
both Novice and Expert
JUNE 1986
CIRCLE NO. 198 ON READER SERVICE CARD
165
KMAN
use of environment variables somewhat
more understandable.
Consider these macro definitions:
MACRO printon E.OPRN = TRUE
MACRO printoff E.OPRN = FALSE
These two macros create two new
KMAN commands. The first, printon,
starts output to the printer, and the
second, printoff, stops it. This use of
macros can make KMAN programs
much more readable.
As mentioned earlier, procedures
and groups of statements and com-
■ Turbo Pascal like environment for ANY
language.
■ MULTI-FILE window editing. Move & copy
between file windows.
■ Extensive Find & Replace usage.
■ ON-LINE editing HELR
mands are kept in .IPF files until called
by the PERFORM or INCLUDE com¬
mands. Normally, once a procedure fin¬
ishes executing, its memory is freed;
however, procedures invoked by the
LOAD PERFORM command remain in
memory for reuse until freed by the
RELEASE command. Procedures can be
combined into a library through the Li¬
brary Building utility (KLIB). This ap¬
proach can save procedure access time
and reduce the number of open liles.
Once the library is loaded, it stays
memory-resident until released.
■ Editing commands & colors & more are fully
user configurable.
■ ON-LINE language-specific user definable HELR
■ Full featured editor with M/0/?D S7W?
like commands.
■ Fully utilizes sub-directories.
■ Supports keyboard MACROS.
Reg. Price
Limited Time $39.95
KMAN neither handles transaction
processing nor creates audit trails auto¬
matically. These functions are left up to
the programmer to resolve.
Because of its modular structure
and interpreter environment, KMAN is
fairly simple to debug. Usually a proce¬
dure is developed and debugged inter-
pretively, then stored as an .IPF hie to
be called later. Environment variables,
including E.STEP (display each state¬
ment before executing), E.PAUS (pause
when the screen is full), and E.SERR
(display or suppress error messages),
along with the I/O control E-variables,
can be used to diagnose problems. With
almost 150 error messages that can be
trapped, displayed at runtime, or re¬
corded to disk or printer, the error
handling routines can be as complex as
the designer wishes.
Programming in the KMAN operat¬
ing environment is comfortable. The
RUN command loads the DOS com¬
mand processor to allow the user to en¬
ter DOS commands or run other pro¬
grams. Typing EXIT at the DOS prompt
returns the user to KMAN. Alternatively,
RUN can be followed by a command
line that places the user directly into an
external program. In this case, the user
is returned to KMAN upon termination
of the external program. This feature
allows the programmer to use a favorite
text editor for program development or
perform other work without disturbing
the KMAN set-up.
KMAN also features its own direc¬
tory list, hie rename, and hie destroy
routines that can be used in a proce¬
dure or program without ever leaving
the KMAN environment.
MDBS offers a runtime package for
commercial developers. The package in¬
cludes an encryption utility, called
SCRAM, which can be used to keep
source code secure. All data tables are
automatically encrypted.
dBASE-LIKE FORMS
Screen I/O can be as simple or sophisti¬
cated as the user wishes. The com¬
mands BROWSE and CREATE (record)
use a default screen that is a vertical
column of held names followed by held
values, if any. These screens enable full
screen editing, so they are appropriate
for many ad hoc applications.
For commercial applications, the
base program includes the FORM com¬
mand, which allows complex forms to
be created interactively or in a proce¬
dure hie. KMAN’s form system is similar
to Ashton-Tates dBASE series in that a
form is composed of a number of state¬
ments that provide the screen coordi-
We believe in the highest quality software at the lowest possible price!
Turbo Pascal is a trademark of Borland inti. Word Star is a trademark of Micro Pro inti.
PLASH
SPEED UP YOUR COMPUTER!
Increase the speed of your computer by as much
as 4-8 times. Why buy a PC AT when all you may
need is some FLASH. FLASH is just that, it gives
disk accesses in a FLASH. Every PC owner can’t
be without FLASH once the powers of FLASH
are discovered. The program is totally invisible
to the user. There is nothing to learn. Make your
floppies faster than a hard disk. Make your hard
disks faster than ever before. Allows the user to
have sub-directories on his floppies without the
usual loss of speed. FLASH will also tell you just
how much faster you are running than you would
have been without FLASH. FLASH is handcrafted
in ASSEMBLER. Upgrade your computer with
FLASH. Batch files will fly like they had wings.
Save wear & tear on expensive program disks.
You’ll be so amazed with your improved
performance, you will want to call us to tell
us so!
NOT COPY PROTECTED
BENCHMARKS for different
programs utilizing FLASH
W/0 FLASH
W/FLASH
WORD STAR
2.0
0.33
BASICA
2.7
0.40
LINKING
113.8
6.00
SORTING FILES
105.0
27.00
“The novice and expert alike will consider
FLASH their most valued utility.”
DAVIE LEE REED
President, SOFTWARE MASTERS
When FLASH increases your speed it generally
makes you run 3*5 times faster. In favorable
conditions like the ones above FLASH can make
your PC run 6-16 times faster! PC’s over the world
are screaming for FLASH. Reach the speed of i
RAM DISK, without their disadvantages. If yot think
you DON’T need FLASH, call us and tell us why!
Order Line 1 -8CX)-25-F£AS^
Info Line 1-317-253-8088
MC, Visa, Check, C.O.D.
For: IBM PC, AT, XT, JR, or done.
Reg. Price . $Mh95
Limited Time .&035
add 4.00 shpng hndl —
Software Masters
6223 Carrollton Ave.
Indpls., IN 46220
Now utilizes
expanded 8: extended
memory.
SOFTWARE MASTERS®]
THE UTILITY ROOM
Spool-Master, ram printer spooler. Multiple copies, handies single sheets, 4935 29.95
any buffer size.
Buffer-Master, keyboard buffer extender from 15 to 2000 key type ahead. 2935 24.95
Super-Ram-Disk, set up MULTIPLE ram disks and as MANY as you want. 4935 24.95
Calcfad, ram resident calculator, hex octal binary and decimal. Wbrks in 4935 24.95
ANY graphic mode. Unlimited parenthesis nesting. Many functions.
Sort-Merge-Copy, a super sort utility. Use it stand alone or call it from 15030 49.95
ANY language.
Unprotect, unprotects basic programs. 4935 29.95
Data-Path, Have paths setup to find your data and overlay files. Works with 4935 29.95
ALL programs.
MoreHard, gain up to 10%-50% more hard disk space! 4935 29.95
ALL programs work in harmony with each other.
SUPER—ED Version 3.
Do ANY DOS command or RUN ANY
program from within SUPER-ED.
166
CIRCLE NO. 163 ON READER SERVICE CARD
PC TECH JOURNAL
Special MS-DOS Features:
• Works on IBM PC, XT, AT, JR, TANDY 1000,1200,
2000, COMPAQ, COMPAQ DESKPRO and most
MS-DOS compatible machines. Configures for
graphics and text.
• Creates stand alone .COM Files
• Mouse Support.
• Executes DOS Commands, BATCH Programs or
other .COM Files from within ZBasic
i i
THE ULTIMATE IN ACCELERATION
X3
ITS SIMPLY THE VERY BEST MULTIFUNC¬
TION ACCELERATOR FOR YOUR PC,
PC/XT, AND COMPATIBLES AT THE
MOST AFFORDABLE PRICE! AND
IT USES NO EXPANSION SLOT!
NOW SHIPPING WITH A 30 DAY MONEY
BACK GUARANTEE
YOUR COMPUTER DEMANDS PRODUC¬
TIVITY FUNCTIONS IN ORDER TO GIVE YOU
ITS BEST!
PROCESSING POWER 200% TO 800%
X3 HAS UP TO 8 TIMES THE POWER OF A PC,
UTILIZING BOTH A 10 MHZ SUPER 88 AND
THE EXISTING CPU FOR DUAL PROCESSING
THAT OUTRUNS 80286 MACHINES. X3 ALSO
HAS A SOCKET FOR AN 8087 MATH CO¬
PROCESSOR (5, 8, OR 10 MHZ).
MORE RAM 200%
X3 PROVIDES FOR TWO 640 KB MEMORY
SPACES. THE 640 KB ON THE X3 IS FULLY
AVAILABLE FOR YOUR APPLICATION PRO¬
GRAMS, THE 640 KB IN THE PC IS RESERVED
FOR I/O BUFFERING.
HIGH PERFORMANCE I/O 15,000%
WAITING FOR I/O CONSUMES THE BULK OF
YOUR COMPUTER TIME. X3 REMOVES THIS
BOTTLENECK WITH SUCH STANDARD FEA¬
TURES AS DISK CACHEING, RAM DISK, PRINT
SPOOLING, AND ADDITIONAL KEYBOARD
BUFFERING. DUAL PROCESSING AND THE
ADDITIONAL RAM GIVES UP TO 1 50 TIMES
IMPROVEMENT IN I/O RESPONSIVENESS.
YOUR PC MAY HAVE TO WAIT FOR YOU!
TRAILRIDGE RESEARCH, INC.
14300 WEST 50TH AVE.
GOLDEN, CO 80401
303-441-9109
a
$449
PRICE INCLUDES 128 KB OF RAM
ADDITIONAL RAM IS AVAILABLE
AT $35 FOR EACH 256 KB BANK
YOUR EXPERIENCE DEMANDS THAT YOU
ACCEPT ONLY TOP QUALITY AT THE BEST
PRICE!
COMPATIBILITY 100%
X3 PROTECTS YOUR SOFTWARE INVESTMENT.
IT IS TOTALLY COMPATIBLE EVEN WITH COPY
PROTECTED SOFTWARE AND ITWORKS WITH
MOST EMS CARDS.
WARRANTY 100% — 1 YEAR
SUPPORT 100% USA
X3 IS MANUFACTURED AND SUPPORTED
FROM OUR FACILITIES IN COLORADO.
SIMPLICITY
X3 INSTALLATION IS QUICK AND EASY, JUST
PLUG IT IN AND TURN IT ON. DOCUMENTA¬
TION IS CLEAR TO THE NOVICE AND COM¬
PLETE FOR THE TECHNICAL EXPERT.
REMEMBER!
X3 DOES NOT USE AN EXPANSION SLOT, IT
PLUGS DIRECTLY INTO THE EXISTING 8087
SOCKET.
NO SURCHARGE FOR
VISA OR MASTERCARD
DEALER INQUIRIES INVITED
CIRCLE NO. 186 ON READER SERVICE CARD
KMAN
FIGURE 1: Sample Forms
/* TPF0RMS.IPF
*/
FORM
AUTMEN
AT
2,
25 PUT
'PC TECH JOURNAL DATABASE PROJECT"
AT
3,
28 PUT
"Sample Magazine Inventory"
AT
8,16 PUT
"A> Add an author" WITH »L"
AT
10,
16 PUT
"B> Edit author tables" WITH "L"
AT
12,
16 PUT
"C> Return to Main Menu" WITH "L"
AT
14,
16 PUT
"D> Return to DOS" WITH "L"
AT
20,
16 PUT
"Please select a LETTER ==>"
AT
20,
59 GET
CHOICE STR USING "u" WITH "R"
ENDFORM
FORM
AUTED
AT
6,
1 PUT "
Social Security Number:" WITH "L"
AT
6,
25 GET
Ssn NUM USING "nnn-nn-nnnn"
AT
6,
25 PUT
Ssn USING "nnn-nn-nnnn"
AT
9,
6 PUT "
First Name:" WITH "L"
AT
9,
18 GET
Author.Fname STR USING "%12a"
AT
9,
18 PUT
Author.Fname USING "%12a"
AT
9,
41 PUT
"Last Name:" WITH "L"
AT
9,
52 GET
Author.Lname STR USING "%18a"
AT
9,
52 PUT
Author.Lname USING "%18a"
AT
11,
6 PUT
"Street address:" WITH "L"
AT
11,
36 GET
Author.Address STR USING "%20r"
AT
11,
36 PUT
Author.Address USING "%20r"
AT
13,
6 PUT
"City:" WITH "L"
AT
13,
12 GET
Author.City STR USING "%16r"
AT
13,
12 PUT
Author.City USING "%16r"
AT
13,
31 PUT
"State:" WITH "L"
AT
13,
38 GET
State STR USING "uu"
AT
13,
38 PUT
State USING "uu"
AT
13,
43 PUT
"Zip:" WITH "L"
AT
13,
48 GET
Author.Zip NUM USING "nnnnn"
AT
13,
48 PUT
Author.Zip USING "nnnnn"
AT
15,
6 PUT
"Work Phone:" WITH "L"
AT
15,
23 GET
Author.Wphone NUM \
USING "(nnn) nnn-nnnn"
AT
15,
23 PUT
Author.Wphone \
USING "(nnn) nnn-nnnn"
AT
15,
41 PUT
"Home Phone:" WITH "L"
AT
15,
53 GET
Author.Hphone NUM \
USING "(nnn) nnn-nnnn"
AT
15,
53 PUT
Author.Hphone \
USING "(nnn) nnn-nnnn"
AT
17,
6 PUT
"Biography:" WITH "L"
AT
18,
6 GET .
Author.Bio STR
AT
18,
6 PUT .
Author.Bio
ENDFORM
A form is composed of a number of
statements that provide the screen
coordinates for text, prompts, and
data. KMAN’s form system may be
used to build menus, data entry
screens, and some reports.
nates for text, prompts, and data. Two
typical forms are shown in figure 1.
Note the similarity to a dBASE form
(the AT key word can be replaced by an
@ character). The PUT command writes
to the screen. Control codes can be
sent to the printer with the PUT com¬
mand using the CHR function. The GET
command, together with GETFORM,
reads input from the screen. Data can
be displayed according to picture
clauses and with what MDBS calls spe¬
cial effects: low intensity, blinking,
reverse video, or sounding a bell when
the cursor enters the field. In figure 1,
the phrase WITH “L” causes the value
to be displayed in low intensity. Addi¬
tionally, rectangular blocks of color can
be defined by giving the northeast and
southwest coordinates.
After the constant fields of a form
are displayed with PUTFORM, the TALLY
command can be used to fill in the
values of data items. After input is
entered, TALLY recalculates values that
are dependent on screen input. If the
environment variable E.ICOM is set to
TRUE, values are recalculated automati¬
cally as input is entered.
Several forms can be on the screen
simultaneously, and multiple tables can
be accessed within a form, but only one
record from each table can be dis¬
played at a time. This simplifies the
challenge of updating multiple tables
with what appears to be a single screen.
PICTURE EDITING
Most of KMAN’s automatic editing is de¬
rived from the definition of the picture
for a data item. A picture is a sequence
of characters that provides a mask for
data I/O. Typically, pictures are defined
in USING clauses. A field variable can
be given a default picture when the
data table is defined. Any later picture
that is given in the GET and PUT com¬
mands for a form temporarily overrides
the default value.
With pictures, data can be shifted
automatically, upon input, to upper- or
lowercase or, perhaps, to leading caps
only. Data elements that usually have
special formatting characters can be
stored without those characters to con¬
serve space; the special characters are
added only when the data are dis¬
played. For example, a phone number
displayed as (404) 555-1212 is actually
stored as 4045551212. The phrase to
create the appropriate output formatting
or input mask on a screen is:
... USING “(nnn) nnn-nnnn”
The KMAN placeholders used in
defining a picture follow:
a —any alphabetic character
c—any alphanumeric character
1—any ASCII character; uppercase
alphabetic characters are con¬
verted to lowercase
u—any ASCII character; lowercase
alphabetic characters are con¬
verted to uppercase
r—any ASCII character; no case
conversion
n—any digit
d —a digit, sign (+ or -), or deci¬
mal point
f—behaves like d, except that literal
characters to the left of the first f
float to the right until a non-f
placeholder is encountered; this
Instant-C:
The Fastest
Interpreter for C
Runs your programs 50
to 500 times faster than
any other C language
interpreter.
A ny C interpreter can save you compile
Land link time when developing your
programs. But only Instant-C saves
your time by running your program at
compiled-code speed.
Fastest Development. A program
that runs in one second when compiled
with an optimizing compiler runs in
two or three seconds with Instant-C.
Other interpreters will run the same
program in two minutes. Or even ten
minutes. Don’t trade slow compiling
and linking for slow testing and debug¬
ging. Only Instant-C will let you edit,
test, and debug at the fastest possible
speeds.
Fastest Testing. Instant-C immedi¬
ately executes any C expression, state¬
ment, or function call, and display the
results. Learn C, or test your programs
faster than ever before.
Fastest Debugging. Instant-C gives
you the best source-level debugger for
C. Single-step by source statement, or
set any number of conditional break¬
points throughout your program. Errors
always show the source statements
involved. Once you find the problem,
test the correction in seconds.
Fastest Programming. Instant-C
can directly generate executable files,
supports full K & R standard C, comes
with complete library source, and works
under PC-D0S, MS-DOS, or CP/M-86.
Instant-C gives you working well-
tested programs faster than any other
programming tool. Satisfaction guar¬
anteed, or your money back in first
31 days. Instant-C is $495.
Rational
Systems, Inc.
P.0. Box 480
Natick, MA 01760
(617)653-6194
CIRCLE NO. 181 ON READER SERVICE CARD
169
JUNE 1986
KMAN
placeholder is used to position a
dollar sign in front of the first
significant digit of a number
s —behaves like d, except literal charac¬
ters (other than decimal point) that
appear between the first and last s
of the picture are replaced with
blanks if a digit does not appear on
both sides
Placeholders must be in lowercase. Any
other characters in a picture are
assumed to be constants. The place¬
holder characters can be used as con¬
stants by prefixing them with two back¬
slashes. The % symbol followed by a
count may be substituted for a se¬
quence of identical placeholders. For
example, % 5u and uuuuu would create
the same data picture.
Notice that a limited amount of
editing is done automatically, such as
restricting input to digits or alphabetic
characters. The u and 1 features make
testing for lower- or uppercase answers
to a prompt unnecessary. Range check¬
ing, verification of the input against lists
of valid values, and the use of look-up
tables must be accomplished with pro¬
gramming. For example, the clause
USING “nn” restricts input to two digits,
but it does not control which two digits.
Additionally, with programming
and special effects, the display attributes
can be varied depending on the value
of the data. For example, code can be
written to determine if a variable has a
positive or negative value; then the vari¬
able might be displayed in green if
positive or red if negative.
checking, verifica¬
tion of the input against lists
of valid values, and the use
of look-up tables must be
done with programming.
K-Paint is a utility that, as its name
implies, allows the user to paint a
screen interactively (with or without a
mouse). This is convenient for large,
complicated jobs, especially when the
general screen/menu style of a given
application is repetitive. K-Paint gener¬
ates an .IPF file that includes the FORM,
ENDFORM, AT xy, GET, and PUT
clauses. It does no automatic program¬
ming. Range checking, linking forms to¬
gether, and manipulating data within
the form are up to the programmer.
When PAINT (form name) is
invoked from KMANs command line
prompt, the screen is cleared except for
a two-line menu/status area at the bot¬
tom. The menu choices in themselves
create a logical approach to screen de¬
sign. The first choice is whether to
work on a color block or an element. If
color block is selected, the user is in¬
structed to put the cursor in the north¬
west corner of the block (screen area),
press Enter, move the cursor to the
southeast corner, press Enter again, and
then select foreground and background
colors from a list on the command line.
If element is selected, the user is in¬
structed to move the cursor to the be¬
ginning of the element (on the screen)
and to choose literal or nonliteral. For
literal, the program prompts the user to
type the literal—perhaps a prompt such
as “Enter your first name” The com¬
mand line then asks for attributes for
the literal, such as blinking, low inten¬
sity, or a bell that is to be sounded
when the literal is displayed.
A user who elects to work on a
nonliteral is requested to identify a vari¬
able or an expression and to assign it a
location and attributes. The user contin¬
ues in this manner, identifying literals,
nonliteral expressions, and their loca¬
tions and attributes until the form is
The Model TC-50 V^-inch tape subsystem provides a
standard medium for transmission of mainframe data base
information to PC users, while maintaining mainframe
isolation and data integrity. Use ODI subsystems to import
data to data base programs like dBase III.
The TC-50 subsystem also provides fast back-up capability
as well as a device driver
and interface soft¬
ware for popular
compilers.
The TC-50 subsystem
includes tape drive con¬
troller, cables and docu¬
mentation. All ODI
products carry a 30 day
unconditional money-back
guarantee, and are war¬
ranted for one year,
parts and labor.
Overland Data, Inc.
5644 Kearny Mesa Road
San Diego, CA 92111
Tel. (619) 571-5555
Telex 754923 OVERLAND
Also Available-
XENIX tape
subsystems
for the
IBM AT
CIRCLE NO. 185 ON READER SERVICE CARD
PC <0 [> MAINFRAME
VIA 9-TRACK TAPE
For Information Interchange — Backup
Archival Storage ...
IBM format compatible 9-track, Vfc inch magnetic tape is the universally
accepted media for mainframes and minicomputers. Now Catamount
offers Low Cost, Lightweight 9-track Tape Subsystems for the IBM-PC/XT/
AT computers which allow:
• Reading tapes generated on mainframes and minicomputers.
• Writing tapes to be read on mainframes and minis.
• ASCII, EBCDIC and Binary tapes accommodated.
• 800 bpi NRZI, 1600/3200 bpi PE, and 6250 bpi GCR format systems
available.
• Storage capacities up to 180 MB on a single reel.
Systems come complete with comprehensive DOS command syntax
oriented software and an Installable Device Driver. For OEM applications,
the tape controller is available separately.
Catamount
Corporation _
2243 Agate Ct. • Simi Valley, CA
(805) 584-2233
CIRCLE NO. Ill ON READER SERVICE CARD
PC TECH JOURNAL
170
Get up to speed
for under
a hundred bucks*
If you’re writing in the BASIC that
came with your IBM® PC, now you
can make your programs scream.
Microsoft’s new QuickBASIC Com-
piler will punch you right into warp
speed, accelerating your programs by
as much as ten times. And all with
hardly any code changes.
You get all this at a price that won’t
slow you down, either. Just $99 and
you’re in.
The new QuickBASIC Compiler
was designed to work with the
CIRCLE, PSET, and COLOR.
So your graphics and music routines
will look and sound as they should.
And when you’re ready to move
into structured programming, Quick'
BASIC also offers language extensions
for a speedy transition. With optional
alphanumeric labels you can make
your programs more readable. And
compiled subprograms will save
you time.
So get moving. MICROSOFT,
Lv3.il US HOW for The High Performance Software™
more information on the QuickBASIC
Compiler and the name of your
nearest Microsoft dealer. Just ring
(800) 426-9400. In Washington State
and Alaska, (206) 882-8088. In Canada,
call (416) 673-7638.
Then go give your programs a
swift kick.
programs you’ve already written. It
supports all BASIC sound and graphic
statements including PLAY SOUND,
LOCATE, DRAW GET, PUT, LINE,
2.5 A DBMS REWLUTION
Power
ZIM's high-level language lets you build user commands which
implement applications without the necessity and cost of additional
programming tools. ZIM's forms facility and extensive report
generator permit completely menu-driven applications. Completed
compiled, applications use the Runtime System, leading to fast
execution, preventing unauthorized access or modifications, and
decreasing cost and memory requirements.
Flexibility
ZIM gives you unprecedented simplicity and flexibility. ZIM
commands parallel simple English sentences, making it easy to
learn and use. Other features include automatic updates of all
indexes, multi-user support, and an extensive range of validation,
editing and masking facilities. ZIM's limits are only those of your
hardware, operating system and imagination. And with ZIM 2.5,
your database is no longer limited to a single hard disk.
Have you been looking for perfect data management that you can
enjoy on your own terms? Then you've probably already heard of
ZIM 2.4 — the most powerful database system available. Until now.
Because ZIM 2.5 is here.
ZIM 2.5 is a fourth generation application development tool which
makes it possible to expand the capabilities of your micro beyond
what you've ever imagined. ZIM mirrors the complexities of the
real world by letting you develop as many and as varied
applications as you could possibly need.
"ZIM is... a successful migration of mainframe ideas and needs to a
micro. (ZIM) proves not only that the job can be done but also that
it can be done well. ZIM provides a reference against which current
and future data bases can be judged." James Creane, Data Based
Advisor/July 1985.
Speed
ZIM breaks the speed limit — between 3 and 50 times faster than
industry leaders in sorting and joining files within the data-base.
ZIM's internal architecture, and the implementation of its strategy
analyzer and priority-driven buffering ability, ensure that data is
processed in the most efficient manner possible.
Portability
ZIM is the only database management system with 100% BSp
application portability for single-user and multi-user ^
configurations. ZIM is available under PC-DOS, &
Concurrent PC-DOS, UNIX, XENIX, and QNX. JL
Never again will you be required to re-write
your applications for different operating systems\ m
environments. \ W/Km ll
"ZIM is (a) well-conceivedsoundly-implemented ,
thoroughly professional system. Its design evidences a
strong commitment to consistency and to the goal
of natural nonprocedural user interaction."
Richard M. Foard, PC Tech Journal,
October 1985.
ZIM 2.5 — DATA
MANAGEMENT AT
ITS BEST
38Antares Dr., Suite 1200
Nepean, Ontario, Canada
K2E 7V2 7ANTHF
(613) 727-1397 I lit
INFORMATION INC
CIRCLE NO. 219 ON READER SERVICE CARD
KMAN
completed and ready for use. Color
blocks and elements can be moved
around the form easily.
Forms can be as large as 255 lines
by 255 columns. When the K-Paint user
moves the cursor outside the screens
viewing window, the window is shifted
automatically to the previously invisible
part of the form.
VARIETY OF REPORTS
One way to generate a report is to
create a form (with or without the
K-Paint module). The simplest type of
report is generated with the LIST,
SELECT, OBTAIN, or CONVERT com¬
mands. Any one of these can direct the
output to the printer, screen, or disk as
desired by the user. However, KMAN
provides several other ways of generat¬
ing reports of varying complexity.
The LIST and SELECT commands
provide a columnar listing of held and
expression values for each record in
one or more data tables that meet the
selection criteria. Utility variables can
be used to create a header for the re¬
port and to replace held names with
more descriptive heads above each col¬
umn in the listing. Environment vari¬
ables control page ejects, pagination,
margins, and printer start/stop control
sequences. LIST and SELECT cause auto¬
matic wrapping if columnar output ex¬
ceeds the margin values that are set in
the environment variables.
If the environment variable E.STAT
is set to TRUE, statistics on the report’s
columns are generated automatically.
The statistics listing for string expres¬
sions shows the count and minimum
and maximum values. Statistics for each
numeric expression include count, sum,
average, minimum, maximum, variance,
and standard deviation. The only statis¬
tic given for logical expressions is the
count. Environment variables can be
used to turn off all statistics or individ¬
ual items in the statistics list. (The STAT
command is discussed later.)
OBTAIN provides a simple listing
of selected held variables belonging to
a single record. This command or the
KMAN form with some programming
can be used to produce the one-page-
per-record type of report.
CONVERT can be used for report
generation in programmed applications
to produce one or more lines of data in
ASCII format from records that meet
certain criteria. One of the main appli¬
cations of this command is to create
mailing list output to the printer.
Yet another way of creating a
report with KMAN is to use the LIST,
SELECT, OBTAIN, or CONVERT state¬
ments together with programming lan¬
guage elements. This produces a report¬
making program that typically selects a
record meeting certain criteria, outputs
data to be printed, and keeps track of
subtotals and totals for later printing.
Such a program usually includes a page
numbering routine and generates its
own headers and footers. This type of
report generation must be used if more
than one table is queried and a many-
to-many relation exists between the
table elements.
KMAN provides an optional utility
called K-Report that saves time in de¬
signing complex reports, although the
reports have to be quite complicated
before much time saving is realized.
This is the case primarily because
K-Report (as of this writing) suffers
from several bugs. KMAN version 2.0
uses an entirely different screen-han¬
dling routine than did earlier versions,
and K-Report has not yet caught up with
the changes. Its column counter is not
always correctly incremented. Like
K-Paint, K-Report handles reports larger
than can be displayed at one time.
However, as the user scrolls to another
viewing area, the screen image often is
corrupted. Positioning to the northwest
corner and repainting the screen is nec¬
essary to restore the correct image.
VT100/VT52 & Tektronix™
4010/4014 Terminal Emulator
Excellent emulation and the features you want:
-» use 4096 x 3120 resolution
-* zoom, pan, and window plots
high resolution printer dumps
choose text and plot color
-* transfer files with
XMODEM and Kermit protocols
-» scroll last 4 pages of text
132 column VT100 capability
-*■ 18 User-definable keys
-*■ capture plots and text on disk
-> full or half duplex
access to DOS commands
-> all VT100 keypad commands
command line editing
fast direct screen access
password security
VTEK makes your PC better than a terminal
$150 from Scientific Endeavors
Publication Quality Graphics for
Scientific and Technical Applications
□l
? U
Us
EL
ID
L
U
-> linear, log, & polar plots
-> bar charts & Smith charts
•» contour plots with labels
-» 3-D curves, 3-D surfaces
with hidden line removal
-> 4 curve types, 8 markers
14 fonts, font editor
-*■ multiple levels of |JJg ,r scripts
-* 4096 x 312D resolution
-* zoom, pan, window plots
-> multiple plots on a page
-*• high resolution printer
dumps, full or half page
-* plotter support in COLOR
16 color plots on EGA, Sigma, TeleVideo & Tecmar boards
Over 100 routines can be called by your
C program. $350. Demo $8.
SOURCE INCLUDED for private use only.
For DeSmet, 086, Aztec, Lattice, and Microsoft C compilers.
Scientific Endeavors
Route 4, Box 79; Kingston, TN 37763
[615] 376-4146
For 256k IBM and Corona PCs, DOS 2.xx,3.xx.
Epson, Okidata, Toshiba, C. Itoh printers.
Hewlett Packard, Houston, Sweet-P plotters.
Corona Laser printer. IBM, IBM EGA, Sigma,
TeleVideo, Tecmar, Hercules, Corona graphics.
A compatible assembler is required.
THIS AD WAS MADE USING Graphic™
CIRCLE NO. 187 ON READER SERVICE CARD
j(M7‘
1930 PARK FOREST AVENUE
P 0 BOX 906
STATE COLLEGE. PA 16804
(814) 234 -8087
CIRCLE NO. 165 ON READER SERVICE CARD
Real Time Devices' GP100 is aTpTl| capability GPIB (IEEE
488) interface for the IBM® PC That includes high-speed
software for the single quantity^price of $299.
• Over 40 high and low level GPIB commands
• Fast assembly language extensions to BASIC
•DMA and interrupt capability
•Comprehensive tutorial/instruction manual
• No hidden software, cabling, or documentation charges
•Supports up to 15 devices
• FORTRAN, PASCAL, and FORTH extensions available
Even if you're not familiar with GPIB interfacing, the GP100
will have you controlling this powerful bus in no time at all,
allowing you to focus on your application requirements.
So if you've been intimidated by the complexity or cost of
other GPIB implementations for the IBM PC call on us to
help — you'll be pleasantly surprised.
Real Time Devices, Inc.
JUNE 1986
173
KMAN
MDBS is working on fixes for K-Report
and is considering a report generation
language because it has been requested
by many users.
Another problem with K-Report is
that it cannot handle many-to-many
relations among tables. Output in a
situation involving many-to-many re¬
lations can be programmed so it is di¬
rected into a temporary KMAN data
table. Once this is finished the user can
forget about relations and use K-Report
in order to generate a report from the
temporary table.
K-Report looks like and is used in
the same manner as K-Paint. K-Report is
invoked by the command DESIGN
<report name>. The user begins with
a blank screen that has only a menu/
status area at the bottom. The choices
are to work on a detail pattern or head¬
ers and footers for a group, page, or
report. By following the prompts, these
patterns are developed into an on¬
screen template that is used by the sys¬
tem to generate reports.
After the template is designed,
template data are kept in a hie called
ReportName.TPL. Reports are generated
with the command:
REPORT “template filename” selection
criteria
The selection criteria phrase is similar
in syntax to LIST or SELECT.
Eleven levels of grouping are per¬
mitted in templates. Pagination is auto¬
matic with page numbers appearing in
page headers or footers as desired.
Therefore, K-Report is particularly good
at a report that has, for example,
company, division, and office headers
followed by employee detail records.
Subtotals can be calculated by office
and division, and company totals given.
Here, the level depth is only four.
DATA SECURITY
KMAN’s security is among the best in its
class. Data can be secured from read or
write access by table or held variable.
When a table or held is dehned, it may
be given any combination of 16 read
and 16 write access codes. Users also
may be assigned any combination of 16
read and 16 write access codes by the
USRMAN utility. A table can be accessed
only if a user’s access code matches one
of the table’s. A user may access a held
only when one of the held’s access
codes matches one of the user’s.
A user who is denied access to a
held that is later used in an expression
also is denied access to the results of
the expression. For example, a user
who is denied access to the Salary held
in the Author table is automatically de¬
nied access to the virtual held Monsal
as well, because it is calculated using
the Salary held. Spreadsheet cells can
be protected against modihcation. This
is a blanket restriction and not based
on user access code.
When KMAN hrst appeared on the
market in May 1983, it was criticized for
being “user hostile.” The initial docu¬
mentation, while more or less com¬
plete, was absolutely sterile and as¬
sumed that the user understood (1) the
theory of relational databases; (2) the
theory of structured programming; and
(3) the design intentions of MDBS.
KMAN revisions 1.04 through 1.07
were largely concentrated on getting all
of KMAN’s features working in concert.
Version 2.0 (KMAN/2) is a plea for
understanding and acceptance from the
common man. Source code in perform
hies created on earlier versions of the
product is generally upwardly compat¬
ible, although some programmers have
elected to rewrite some stretches of
code, thus taking advantage of certain
new functions and constructs.
Tools for the Programmer
from Blaise Computing
Save Up To $130 On These Special Offers!
TOOLS & TOOLS 2
i For C or Pascal
j For a limited time, pick up both packages and
i save $50 off our regular list price. The C version
I comes with libraries tor the Lattice, Computer
| Innovations and Microsoft (version 2.03 and
3.00) compilers. The Pascal version supports \
IBM and Microsoft Pascal. $ 175 .
VIEW MANAGER With Source
All libraries are included. Please specify C or 1
Pascal. Regular $425. Save $130. $ 295 1
B laise Computing provides a broad range of fine programming tools for Pascal and C pro¬
grammers, with libraries designed and engineered for the serious software developer. You get clearly
written code that's fully commented so that it can serve both as a model and also be easily modified
to grow with your changing needs. Our packages are shipped to you complete with comprehensive
manuals, sample programs and source code.
None of the programs are copy-protected.
FOR C AND PASCAL PROGRAMMERS:
TOOLS <>$125
Extensive sfring and screen handling, graphics interface
and easy creation of program interfaces, includes all
source code.
TOOLS 2<>$100
Memory management, general program control and DOS
file support.Interrupt service routine support, includesali
source code.
VIEW MANAGER 0$275
General screen management. Create data entry screens
that can be easily manipulated from your application
program. Block mode data entry and retrieval with fast
screen access.
VIEW UBRARY Source 0 $150
Source code to the VIEW MANAGER library functions.
ASYNCH MANAGER <>$175
Powerful asynchronous communications library provid¬
ing interrupt driven support for the COM ports. All source
code included.
FOR THE TURBO PASCAL PROGRAMMER:
Turbo POWER TOOLS 0 $99-95
Extensive string support, extended screen and window
management, interrupt service routines, program control
and memory management, interrupt filters. All source
code included
Turbo ASYNCH 0 $99.05
interrupt driven asynchronous communication support
callable from Turbo Pascal. ASYNCH is written in assem¬
bler and 'Turbo Pascal with all source code included.
PACKAGES FOR ALL PROGRAMMERS:
EXECO$95
] Program chaining executive. Chain one program from
another even if the programs are in different languages.
Common data area can be specified. Source code
included if you're a registered C TOOLS and C TOOLS
2 user.
SPARKY 0 $75
Run-time resident (or stand-alone) scientific, fully pro¬
grammable, reverse polish notation calculator. No limit
Ion stack size, variables or tape, includes all standard sci¬
entific functions and different base arithmetic.
TO ORDER, call Blaise Computing Inc. at (415) 540-
♦ 2034 Blake Street ♦ Berkeley, CA 94704 ♦ (415) 540-5441 <
CIRCLE NO. 114 ON READER SERVICE CARD
174
PC TECH JOURNAL
Powerful MS-DOS Software.
For the IBM®-PC, XT, AT & others with generic MS-DOS/PC-DOS 2.0 or higher.
UTAH UTAH
COBOL FORTRAN
Whether student, teacher or professional programmer,
this is the one you’ve heard so much about.
□ It’s easy to use. Compiles 5000 statements on a 128K
machine.
□ 170 clear error messages, i.e. DATA-NAME IS
MISSING OR MISSPELLED.
□ Distribute your object code programs royalty free.
□ Small object code programs conserve disk space.
□ Fast compile times to increase programmer pro¬
ductivity. Over 25 times faster than one compiler
costing $995!
□ You get a diskette and 213-page manual with lots of
examples and 16 complete COBOL source code
programs. $39.95.
Also available: COBOL Application Packages, Book 1 $9.95.
UTAH
PASCAL
□ 14-digit precision, BCD math, no round-off errors
with decimal arithmetic for business and floating point + 63
-64 for scientific.
□ A very nice TRACE style debugging.
□ Arrays up to 8 dimensions and 64K strings.
□ External procedures and functions with dynamic
auto-loading.
□ One-step compile, no assembly or link required.
□ You get a 132-page manual and diskette. $39.95
UTAH
PILOT ~
□ Perfect for industrial training, office training, drill
and testing, virtually all programmed instruction, word
puzzle games, and data entry facilitated by prompts.
□ John Starkweather, Ph.D., the inventor of the PILOT
language, has added a built-in full-screen text editor,
and much more.
□ Meets all PILOT-73 standards for full compatibility with
older versions.
□ You get a diskette, 125-page manual and ten useful
sample programs. $39.95.
Also still available for 8-bit machines with CP/M® is our world famous
Nevada Software Series used by 50,000 customers in 40 countries.
These include Nevada COBOL, Nevada FORTRAN, Nevada PASCAL,
Nevada PILOT, Nevada BASIC and Nevada EDIT. $39.95 each.
Satisfaction guaranteed. If for any reason you’re not completely
satisfied, just return the package within 15 days in good condition, and
we’ll refund your money.
IBM is a registered trademark of International Business Machines Corp.
CP/M is a registered trademark of Digital Research. MS is a trademark
of Microsoft Corp. © 1985 Ellis Computing, Inc.
□ FORTRAN IV based upon ANSI-66 standards.
□ Very fast compile times and easy to use.
□ IF .. THEN .. ELSE constructs.
□ Chaining with blank and named common.
□ Copy statement.
□ ENCODE and DECODE.
□ Free-format input and output.
□ A very nice TRACE style debugging.
□ 150 English language error messages.
□ You get a diskette, and 223-page manual. $39.95
UTAH
EDIT
□ A character-oriented full-screen video display text
editor designed specifically to create COBOL,
FORTRAN and PASCAL programs.
□ Only requires 15K disk space so it can fit on the
same disk as your compilers.
□ Completely customizable tab stops, default file
type, keyboard control key layout and CRT by menu
selection.
□ Diskette comes with easy to read 58-page manual. $39.95.
UTAH
BASIC'
□ This interpreter has a built-in full-screen editor.
□ Single- and Multi-line user definable functions.
□ BCD Math-no round-off errors.
□ Full Matrix operations.
□ You get 220-page manual and diskette. $39.95.
Handling/Shipping: No shipping charge within US. Overseas
add $10 for first package, $5 each additional. Checks must be
in US Dollars, drawn on a US bank.
Utah Software requires 128K RAM and PC-DOS or MS-DOS 2.0 or higher.
HOW TO ORDER. Send check or money order to Ellis Computing, Inc.
with VISA or MASTERCARD order by phone. Sorry no COD’s.
Ellis Computing, Inc.
5655 Riggins Court, Suite 10
Reno, Nevada 89502
Phone (702) 827-3030
SINCE 1977
ELLIS COMPUTING"
CIRCLE NO. 170 ON READER SERVICE CARD
BEFORE YOU BUY ANYTHING
FOR YOUR IBM PC,
CONSULT „
THE EXPERT#!?*/
Software, hardware and accessories are
not purchased on impulse. With so many
products introduced on the market, it’s
necessary to have the most current
reference source available to assist you
in making smart buying decisions—
That’s why you should comparison
shop with PC BUYERS GUIDE!
PC BUYERS GUIDE is the master
directory of products for IBM and com¬
patible personal computers. It’s more
than 500 pages include listings for over
10,000 products, organized in one
easy-to-use, comprehensive guide.
Discover what’s available, suitable
and affordable in software, hardware
and peripherals for your IBM PC, PCXT,
PC AT, PCjr and compatible personal
computer.
Updated and published quarterly,
PC BUYERS GUIDE is a veritable encyclo¬
pedia of data incorporating the newest
releases and providing accurate prod¬
uct descriptions and costs—PLUS
PC BUYERS GUIDE is cross-indexed and
categorized so you can easily locate any
listing!
Compiled by Data Sources, the most
extensive database maintained in the
entire marketplace, PC BUYERS GUIDE
guarantees you the most current reference
sourcebook of its kind!
Order your copy today!
To order your copy of the most recent
edition complete the coupon below,
enclose payment and mail!
T
T
Mail to:
PC BUYERS GUIDE
Ziff-Davis, One Park Avenue, 4th Floor,
New York, NY 10016, K. Armstrong
Enclosed is my check or money order for $9.45 ($7.95* plus $1.50 for postage and handling) for each
copy. (Price outside U.S. $11.00) Enclosed is $_1_Please send_copies of the
latest edition of PC BUYERS GUIDE.
Mr. / Mrs. / Ms_____
Address_
City/State/Zip_
•Residents of CA, CO, CT, DC, FL, IL, MA, Ml, MD, NJ, NY State, and VT add applicable sales tax.
KMAN
PHOTO 1: KMAN Menu Interface
Select operator.’
STATE
Up
Eni ~ Enter Resp< nse
A X ~ $c*m
Esc - Previous fie mi
~ Go to lop
*C ~ Ha in fie mi
L - Enter^Exit Help
ffoi Equal
Greater I hm\
Greater Thaw or Equal
Le s s T hm
Less than or Equal
KMAN/2 introduced a menu interface for the novice user. The series of menus and
prompts takes a user step by step through building a command or query.
Documentation used to be one of
KMAN’s weakest points. With version
2.0, however, documentation—both
printed and on-line—is one of its real
strengths. The original documentation,
consisting of a single, four-inch thick,
8^-by-l 1-inch, three-ring binder, has
been replaced with two volumes (of the
standard IBM manual size and type) of
typeset material. The Reference Manual
is simply a reprint of the old documen¬
tation, meant for users of the earlier
versions. The additional User's Guide is
tutorial and presents the capabilities of
KMAN in an understandable way.
More important, KMAN now has
extensive on-screen help available both
in context-sensitive text and in a new
menu interface. The applications
designer can elect to enable or disable
the help and pull-down menus; a new¬
comer to KMAN, however, will want to
start with the menu interface in place.
The menus take the user sequen¬
tially through the decision process to
get a task done. The menu interface
divides the screen into five areas as
shown in photo 1. The area in the
upper left corner tracks the path the
user takes to get to a particular stage. As
a selection is made from each menu, it
is printed on the top line, and a new
menu is presented in front of the old.
The utility area on the right is used to
provide a guide to function keys and to
display available options. The message
area in the lower left is used to display
prompts to the user; below that are the
user entry area for text (not shown in
the photo) and the command area,
which holds the KMAN command built
through the selection of menu choices.
Photo 1 captures a step in building
the query of the Author table for all
authors who live in California. The
menu selections made were Data Man¬
agement, View Data, List Many Records,
Set Condition, New Condition, and
Build Condition. Then a menu of held
names was presented in the utility area
from which the held STATE was chosen.
The next step would be to choose the
condition the State held must meet. In
this way, a query is built step by step
until it is ready to be executed.
REAL WORLD KMAN
The editors at PC Tech Journal speci¬
fied an application for this series of data
manager reviews, which includes some
ad hoc queries, reports, and perform¬
ance benchmarks. The application is a
magazine inventory management sys¬
tem—a set of routines that tracks ar¬
ticles, authors, and magazine issues.
For the KMAN programmer, the
sample application presents an interest¬
ing challenge—not so much how to do
it, but where to stop. Nearly all of the
specihcations can be handled by KMAN
with commands entered from the
prompt in the KMAN environment.
WHAT’S REALLY IN THAT FILE?
FIND OUT WITH fijeMASTER
THE DISK UTILITY THAT’S QUICK AND EASY TO USE
NOT SURE WHAT’S THERE? fileMASTER offers the power needed to look
over afile quickly (it’s written in Assembler). You can rapidlyjumptotheend,
back to the beginning, or to anywhere in between. It’s fast enough to easily
browse all the sectors in a file, and the Hex/ASCI I display shows you exactly
what’s there - byte for byte.
CAN’T FIND THE DATA? fileMASTER can scan for character patterns in
either Hex or ASCII.
IS IT WRONG? Fix it with fileMASTER’s full screen editor that operates in
either Hex or ASCII mode.
NEED HARD COPY? Print either Hex/ASCII or plain ASCII formats.
NOT IN A FILE? fileMASTER can handle the entire disk as if it were one big
logical file. All functions operate on the whole disk just like a file. You can
work with the Boot Record, FAT, Directory or any other data on your disk.
HARD DISK? FLOPPY DISK? Yes, fileMASTER can handle any disk that DOS
can.
WHAT’S REQUIRED? IBM PC/XT/AT (or compatible).
® $ 39.95
ADD $3.00 SHIPPING — CA RESIDENTS ADD $2.60 SALES TAX
Filename: saaple.txt Segment: 00000
Offset U12345 6 789ABCDEF 01234S6789 ABCDEF
[ 28 73 61 6D 7
I 69 73 70 6C f
) 46 61 63 68 2
1 68 6F 77 6E 2
) 41 4C 28 6F (
3 61 6E 64 28 (
3 74 68 69 73 2
i 20 4F 66 66 2
3 72 6F 76 69 f
3 65 6£ 74 20 <
5 67 6D 65 6E 2
5 20 64 61 74 (
j 20 6F 76 65 2
F 72 20 41 53 -
3 20 28 20 20 2
3 09 0A 0B 0C (
This is a sample
of the Display
Screen. Each
byte is shown in
HEXADECIMAL on
the left and in
A$ 51 I »n this
area. The Offset
values provide
displacement in¬
to the segment.
To change data,
just type over
the HEX or ASCII
data.
Values'. Hex=54 Bin= E
2K1B2 Ascii 3nnn< H»t s um rTTn^Hi nm »nni' , l!CT
J. L Schuller oUAmcjh
Developers of Master Utilities _
(818) 366-6934
14800 Rinaldi St., Suite 6A, Mission Hills, CA 91345
JUNE 1986
CIRCLE NO. 228 ON READER SERVICE CARD
177
KMAN
KMAN has no limits on the number of
files that can be open simultaneously.
Additionally it has no limit to the length
of a command line, and all KMAN com¬
mands, variables, and control structures
can be used at anytime, anywhere. The
only possible impediment is KMAN’s
inability to deal automatically with
many-to-many relationships.
What about input editing? A large
part of that can be handled at the com¬
mand level as well. For example, many
of the editing specifications require that
a held contain only alpha or only num¬
eric characters or be a certain length.
All of these requirements can be
handled when the data table is defined
by using picture clauses. In this case,
data going into the table from any
source (such as imported ASCII hie or
BROWSE or CREATE from the prompt)
are edited automatically.
While this capability is a big help,
it does not provide for range checks,
checking for duplicate values, verifica¬
tion against lists of valid values, and
required helds. In the sample applica¬
tion, entries in the hrst and last name
helds are required for each author rec¬
ord. In the Article hie the Category held
must contain one of four possible
entries: Product Review, Technical Arti¬
cle, Department, or Tech Notebook. An¬
other requirement is that the State held
in the Author table be a valid two-letter
abbreviation (a table look-up). Similar
requirements pop up elsewhere and re¬
quire custom programming.
The most difficult problem with
the sample application was accommo¬
dating multiple authors per article. Ulti¬
mately, a many-to-many relationship
exists between authors and articles. In
other words, each article may have one
or many authors while each author may
be responsible for one or many articles.
Because any number of authors
may be involved with an article, the
question arises: why worry about
authors in the Article table? Why not
simply number the articles, number the
authors, and create a new table that
contains only article numbers matched
to author numbers?
Finding a unique author number is
simple; the author’s Social Security
Number can be used as the author
number (Author.Ssn). Articles do not
have Social Security Numbers, so a
unique article number (Article.Artno)
has to be assigned to each existing arti¬
cle, and new entries must automatically
be assigned numbers.
KMAN’s table manipulation facilities
allow it to be used for the redesign of
the data structures and the data ele¬
ments in the following way. First, the
Author table is defined and loaded just
as presented by the sample application.
Then the Author table is redefined so
that it includes a new numeric held
(Article.Artno) to contain the unique
article number. A routine entered at the
KMAN prompt can number the existing
articles (a one-time job):
X = 1
OBTAIN FIRST RECORD
WHILE #FOUND AND NOT
PASTEND( Article)
LET Artno = x
LET x = x + 1
OBTAIN NEXT RECORD
END WHILE
Next, a new table is defined to con¬
tain the article/author relations (AutArt).
Now, author Social Security Numbers
can be converted from the Author table
and article numbers from the Article
table for loading into the AutArt table.
Finally, four helds are removed
from the Article hie: author last name,
author hrst name, coauthor last name,
and coauthor hrst name. This informa¬
tion is no longer needed in Article
because AutArt now provides a path for
programming a link between articles
and authors (and in the other direction
if the user desires).
Real-Time Multitasking Executive
■ No royalties
■ Source code included
■ Fault free operation
■ Ideal for process control
■ Timing control provided
■ Low interrupt overhead
■ Inter-task messages
Options:
■ Resource Manager
■ Buffer Manager
■ Integer Math Library
■ Language Interfaces:
C Pascal
PL/M Fortran
■ DOS File Access :
CP/M-80
IBM PC DOS
AMX isTM of KADAK Products Ltd
CP/M-80 is TM of Digital Research Corp.
IBM, PC DOS areTM of IBM Corp,
AMX for 8080 $ 800 US
8086 950
6809 950
68000 1600
Manual (specify processor) 75
JL KADAK Products Ltd. < 6 ° 4 > 734-2796
sk Telex: 04-55670
206-1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5
CIRCLE NO. 112 ON READER SERVICE CARD
178
^ NEW! Vip
WIZARd C 3.0
• An improved optimizer.
• Automatic register variable selection.
• ANSI compatibility.
• Smaller executable files.
• Improved standard I/O performance.
• Improved long integer operations.
• Mixed model support (near and far).
• Reorganized compiler passes.
• Reorganized and expanded documentation.
The following SIEVE benchmark was run without register variable declarations
on an IBM PC with 640K memory and an 8087.
Exec Time
Wizard C 3.0 : 6.8
Microsoft 3.0 :11.5
Lattice 2.14 :11.8
Code Size EXE Size
130 7,662
154 7,018
164 20,068
The new Wizard C version 3.0 sets new records for
all out speed!
(617) 641-2379
When your project depends on that last
ounce of speed , choose Wizard!
\MF^rd
Only $450.
SYSTEMS SOFTWARE, INC.
11 Willow Court, Arlington, MA 02174
CIRCLE NO. 221 ON READER SERVICE CARD
KNOWLEDGEMAN/2 OVERVIEW
KNOWLEDGEMAN/2
Micro Database Systems, Inc., P.O.
Box 248, Lafayette, IN 47902;
317/463-2581
Product description. KnowledgeMan/2 is
an applications development system
with a relational database system, a
structured programming language, an
SQL-like query language, and an inte¬
grated spreadsheet. The product can
be expanded modularly to include
business graphics (K-Graph), text pro¬
cessing (K-Text), report generation
(K-Report), interactive forms design
(K-Paint), mouse support (K-Mouse), C
language interface (K-C), and commu¬
nications (K-Comm).
IBM PC environment. KnowledgeMan/2
runs on any IBM PC family computer
running under DOS with 320KB mem¬
ory. A hard disk is recommended but
not required. The availability of 1MB
of disk storage also is recommended.
The product runs with Windows,
DesQ, GEM, or TopView.
Other environments. The multiuser
version runs under UNIX on VAX-11
series computers, as well as under the
CP/M-86 operating system.
Network support. Networks supported
include Novell’s NetWare, 3-Com’s
EtherShare, and the IBM PC Network.
Copyprotection. KnowledgeMan/2 is
not copy protected.
Documentation. Extensive documenta¬
tion is provided for the novice in the
tutorial User's Guide and for the
advanced user in the Reference Guide.
Each optional module comes with its
own documentation and section tab
designed to be inserted into the exist¬
ing IBM-size volumes.
User interface. KnowledgeMan/2 intro¬
duces a new menu interface with
prompts that guides the novice
through the process of building com¬
mands or queries. This interface may
be disabled, allowing the advanced
user access to the interactive com¬
mand mode. Macros can be defined to
facilitate repetitive execution of long
commands or to make Knowledge¬
Man/2 programs more readable.
Help facilities. Comprehensive general
and context-sensitive help is available
on-line. Optionally, upon detection of
a syntax error, KnowledgeMan/2 dis¬
plays the error message and offers the
user further help.
File capacities. File capacities are
virtually unlimited. The maximum
number of files in a database and the
maximum number of tables open si¬
multaneously is limited only by the
operating system. An unlimited num¬
ber of index keys per table are al¬
lowed with a maximum size of 63,333
characters per key and 65,535 fields
per index. The maximum number of
records per file is 2,147,483,647, with
255 fields per record up to 65,535
characters combined.
Field types and capacities. Fields can be
defined to be one of four types: string
(STR) with up to 65,534 characters,
numeric (NUM) with 14-digit accuracy,
integer (INT) with up to 14 digits, or
logical (LOGIC). The use of arrays is
not supported for fields.
Data entry. Data pictures can be speci¬
fied for fields when the table is de¬
fined and overridden by another pic¬
ture in a data entry form. These pic¬
tures are effective for limited editing,
such as restricting input to numeric or
alphabetic characters only. More ex¬
tensive editing for default values, table
look-ups, range of values, and re¬
quired fields must be programmed.
Application development facilities. The
programming language features ele¬
ments such as looping blocks, nested
procedures to an unlimited depth
with parameter passing, and global
and local variables. An unlimited num¬
ber of working variables is supported,
and working variables can be arrays.
Command lines and procedures can
be any length. Functions are available
for numeric calculations and string
processing. Environment and utility
variables can be set to control formats
and configure output. Some utility
variables hold status information
reflecting current database activity.
Data can be moved easily between
tables and spreadsheets.
Security. Access to tables and to fields
is handled through read and write ac¬
cess codes matched to those assigned
to users. Spreadsheet cells can be
write-protected. Tables are automati¬
cally encrypted, and a system utility,
provided with the runtime module, is
used to encrypt procedure hies.
Access to system facilities. The DOS
command processor can be invoked
either for one command or for execu¬
tion of an external program. Knowl-
edgeMan commands are available for
directory listings as well as for hie
renaming and deleting.
Query and sorting. The product’s query
language is based on SQL (Structured
Query Language). Multiple tables can
be queried with output directed to the
screen, a disk hie, or the printer. Sta¬
tistics are computed automatically,
including count, minimum, maximum;
and for numeric helds, count, average,
variance, and standard deviation.
Reporting. Without the optional
K-Report package, most reports have
to be programmed.
Utilities. Utilities are available for
selecting a driver for different termi¬
nal types and for customizing the key¬
board. With the USRMAN utility, a
master user assigns access codes to
other users. Additional utilities are
provided to consolidate overlays into
the main KnowledgeMan/2 program
and to combine multiple procedure
hies into a library.
Data compatibility. Data can be input
from and output to hies in ASCII
delimited, BASIC, and DIF formats.
Distribution. Began in May 1983
through distributors and dealers.
Price. $595; upgrade for existing
users, $295; LAN version, $1,795 (10-
user maximum), $3,325 (32-user maxi¬
mum); K-C, $1,175; K-Comm, $225; K-
Graph, $225; K-Mouse, $100; K-Paint,
$100; K-Report, $225; K-Text, $175.
Runtime versions are available: K-Run
for KnowledgeMan/2 and K-RunX for
the optional modules are sold for
$100 each in quantities of 1 to 10. Vol¬
ume discounts also are available.
Support. All registered users may tele¬
phone MDBS and leave a message for
a call back from technical support.
KnowledgeMan Priority Support, de¬
signed especially for applications de¬
velopers, is available for $300 a year
and allows four hours of telephone
support. In addition, MDBS offers two
books on KnowledgeMan and spon¬
sors seminars in major cities.
—Julie Anderson
JUNE 1986
179
KMAN
It is easy to forget at this point that
items have been rearranged to facilitate
data entry from screens. Automatic
checking to head off duplicate entries
can be accomplished using split forms.
(Multiple forms can be presented on a
screen simultaneously or sequentially.)
For example, suppose the user wants to
prevent duplicate entries in the author
name held. Two forms are set up on
the screen (it looks like one form to
the operator). The only held in the hrst
form is for Social Security Numbers. As
soon as this entry is made, the program
searches the Author table for a dupli¬
cate. If one is found, the operator is
told that the author is already in the
table, and a screen is presented to edit
the existing author information. If no
duplicate is found, data input continues
with the second form in order to create
a new author entry.
AD HOC QUERIES
One of the questions asked by the PC
Tech Journal sample application is the
average fee paid to authors. Answering
this question is simple because it in¬
volves only one table and takes advan¬
tage of KMAN’s automatic statistics com¬
putation feature. Whenever the environ¬
ment variable E.STAT is TRUE, KMAN
automatically computes statistics for all
listings or selections. For example, the
following command
LIST Title, Payment, Bonus, Payment +
Bonus
does the job as long as the Article table
is open and is also the default table.
From left to right, the columns are
Title, Payment, Bonus, and the sum of
Payment plus Bonus for each article. At
the end of the listing, KMAN automati¬
cally generates the count, sum, average,
variation, standard deviation, minimum,
and maximum of each numeric column
(Payment, Bonus, and Bonus + Pay¬
ment). If the user wants only the statis¬
tics and not a listing of articles, the
command STAT instead of LIST would
be adequate.
Consider this query: how much
was paid per printed editorial page
(including only articles that are not
departments) in an issue?
LIST (Payment + Bonus) / (Edpage +
Listpage)
WHERE Category <> Department
AND Volume = 3 AND Number = 2
This command generates the data by
issue (Volume and Number identify an
issue) and the statistics feature calcu¬
lates the averages at the end of the list¬
ing. Again, using the command STAT in¬
stead of LIST generates only the average
for the issue. Average per article within
the issue is suppressed.
This next query asked by the sam¬
ple application involves multiple tables:
which articles were received after the
deadline for an issue? To answer this
query the user must go to the Issue hie
to find the deadline and to the Article
hie for the date submitted, then com¬
pare the date submitted to the deadline.
Comparing dates requires the TOJUL
function that converts dates from the
current format, as specihed by the
E.DTYP variable, to the Julian equiva¬
lent. This query would be handled by
the following command:
LIST Article.Title Article.Datein
IssueDeadline
FROM Article FROM Issue
WHERE TOJUL( Issue.Deadline ) <
TOJUL( Article.Datein)
Another way of handling dates is to
create a virtual held in the table to as¬
semble the parts of a date into a year-
month-day string. This held can be used
directly in selections and sorts.
One of the sample application tasks
requires using multiple tables with
many-to-many relations. A columnar re¬
port must be generated that lists for
each issue the article titles, author
FORTRAN FROM
THE HIGHEST
AUTHORITY.
Namely, RM/FORTRAN™ from Ryan-McFarland.
It’s nothing less than a mainframe FORTRAN
compiler for a pc. It’s also a full ANSI 77, complete
with mainframe extensions and GSA-certified error-
free at the highest level. And, thanks to our high
optimizing compiler, it’s the fastest pc FORTRAN
you can buy. To do just that, call us at 213-541-4828.
Deep Valley Dr., I III RYAN-
RollingHills I III McFARLAND
Estates, CA 90274. Masters of the Language.
RM/FORTRAN is a trademark of Ryan-McFarland Corporation. ©1986 Ryan-McFarland Gorp.
COMPUTE
YOUR ■
OF
TE(SH
JOURNAL
Add to your PC TECH JOURNAL collection
today. Make your personal library complete
and authoritative with any issues you may be
missing.
Copies are available for issues published
during the last twelve months—be sure to
specify the issues you want. If a particular
issue is out of stock, your payment will be
refunded promptly.
Back issues of PC TECH JOURNAL are
priced at $7.00 each, postpaid. Outside USA,
$8.00 each.
PC TECH JOURNAL
Ziff-Davis, One Park Avenue, 4th Floor,
New York, NY 10016, K. Armstrong
Please send issues of PC TECH JOURNAL listed
below:
■J Issue
Qty.
Unit Price
Total Price
|
1
Payment Enclosed
$
Mr./Mrs./Ms._
Address-
(print full name)
City/State/Zip_
180
CIRCLE NO. 174 ON READER SERVICE CARD
PC TECH JOURNAL
WHY DO THE
FORTUNE 50 SPEND OVER
$400,000* A YEAR ON
DOTASOURCES?
RANK**
1
2
3
4
5
6
7
8
9
10
11
12
IS
14
15
16
17
18
19
20
21
22
25
24
25
26
COMPANY
Exxon (New York)
General Motors (Detroit)
Mobil (New York)
Ford Motor (Dearborn)
Texaco (Harrison, NY)
i.B.M. (Armonk, NY)
E. i. du Pont (Wilmington, Del.)
American Tfel. & Tel. (New York)
General Electric (Fairfield, CT)
Standard Oil (Indiana, Chicago)
Chevron (San Francsico)
Atlantic Richfield (Los Angeles)
Shell Oil (Houston)
Chrysler (Highland Park, Ml)
U.S. Steel (Pittsburgh)
united Technologies (Hartford)
Phillips Petroleum (Bartlesville, OH)
Occidental Petroleum (Los Angeles)
Tenneco (Houston)
Sun (Radnor, PA)
ITT (New York)
Proctor & Gamble (Cincinnattl)
R. J. Reynolds ind. (Winston-Salem)
Standard Oil (Cleveland)
Dow Chemical (Midland, Ml)
Allied (Morris Twnshp., NJ)
# OF SITES
USING
DATA SOURCES
24
45
9
27
19
15S
42
157
121
14
19
26
7
5
14
28
10
6
15
13
58
9
10
14
19
53
27
Unocal (Los Angeles)
9
28
Eastman-Kodak (Rochester; NY)
13
29
Boeing (Seattle)
31
SO
Westinghouse Electric (Pittsburgh)
34
31
Goodyear Tire & Rubber (Akron)
8
32
Philip Morris (New York)
7
33
Dart & Kraft (Northbrook, 10
10
34
McDonnel Douglas (St. Louis)
41
35
Union carbide (Danbury, CT)
18
36
Beatrice Foods, (Chicago)
14
37
Rockwell inti (Pittsburgh)
44
38
Xerox (Stamford, CT)
67
39
General Foods (Rye Brook, NY)
5
40
PepsiCo(Purchase,NY)
14
41
Amerada Hess (New York)
2
42
Ashland Oil (Russell, KY)
8
43
Lockheed (Burbank, CA)
35
44
General Dynamics (St. Louis)
19
45
Minnesota Mining & Mfg. (St. Paul)
25
46
Coca-Cola (Atlanta)
3
47
Georgia Pacif ic (Atlanta)
5
48
LTV (Dallas)
7
49
consolidated Foods (Chicago)
13
50
w.R. Grace (New York)
19
* Source: 1,366 Purchasing Locations @ Base Annual Subscription price of $300.
* * Source: Fortune Magazine, April 1985.
1,366 computer installations of the Fortune 50
rely on DATA SOURCES before they make a
major DP purchasing decision. Because there is
no other reference or buying guide as up-to-date
and complete.
Corporate buyers turn to DATA SOURCES be¬
cause of its complete product listings, comparative
AT-A-GLANCE charts, and comprehensive prod¬
uct, specifications and profiles— before making
any expenditure.
Published quarterly in two volumes covering
virtually all software and hardware products
for mainframe, mini-, and microcomputers,
DATA SOURCES is the indispensible resource
in every purchasing decision.
That’s why the Fortune 50 purchase DATA
SOURCES before they purchase any
computer product.
When you want to reach the Fortune 50, gov¬
ernment and large and small businesses rely on
DATA SOURCES, the ultimate buyers guide
and reference to the entire computer industry.
Call your DATA SOURCES representative
today at 212-503-5861.
One Park Avenue New York, NY 10016
KMAN
TABLE 1: Bet icbmark Rest tits
BENCHMARK TASK
TIME (secs)
Add 900 records to an empty database table
206
Index table on two helds (7 bytes)
26
Document and tally codes from one held
Using the STAT command
90
Executing a program to count values
64
Mass change of one held (28 rows of 900)
17
Extract selected records to create a text hie
21
Compared with other data management systems reviewed in this series, KMAN
seems to be average in many respects—a little quicker than most in indexing and
a little slower than most in counting occurrences of record values.
names, number of editoral pages, and
number of listing pages per article. The
data per issue should be calculated for
editorial page and listing page counts
and the total given for all pages.
Two new fields can be created that
facilitate the generation of this report.
First, a virtual held, named Artisu, can
be added to the Article table where
Artisu = (Volume * 100) + Number.
This is a shortcut so an issue can be de¬
scribed by a single held (Artisu) rather
than two—Volume and Number. Life is
also made easier by creating a virtual
held for the author names:
LFname = trim( Lname )-I- ”, “ -I- Fname.
LFname now can be used for sorting or
direct output without further formatting
as though it were a single held rather
than a combination of two helds.
Basically, to solve the many-to-
many problem, the program picks a
logical starting place—in this case table
Article.ITB— and obtains a record. If a
new issue is involved, the subtotals for
the previous issue (if one exists) must
be printed. If not, the user can continue
to hnd information about the current
article. To do so, the AutArt table is
consulted to match the existing article
number with an author number (or
more), and the author table is searched
using the author number in order to
retrieve author name. The authors are
listed, edit and list page counters incre¬
mented, and the next article examined.
BENCHMARKS
The benchmark tests and results are
shown in table 1. Compared with other
data management systems reviewed in
this series, KMAN seems to be average
in most respects—a little faster than
most in indexing and a little slower in
the tasks that involved counting occur¬
rences of record values.
The first benchmark, loading the
author database, required 206 seconds.
Benchmark 2 required the Author table
to be indexed by state and zip code.
The KMAN command for this is:
INDEX “Iauthor.IND” FOR Author BY AZ
State AZ Zip
Using the index requires that an index
hie be named in the USE command
along with the associated data table, as
in the following example:
USE “Author.ITB” with “Iauthor.IND”
The program required only 26 seconds
to handle the two-held index task.
KMAN can be quite time sensitive
in some tasks. The serious program
developer may want to try several
approaches to a task if time is critical to
the application. Benchmark 3 requires a
count of occurrences of authors’ home
states. The easiest way to solve this
problem is to use the STAT command
after turning off all statistics except
count. The end single line request
looked like this:
STAT State
About 90 seconds later the task was
complete. The same task was attempted
by writing a program that reads the
Author table one record at a time in
state sequence, counting the states. Sur¬
prisingly, the entire task took only 64
seconds when run under the program,
and the output was more attractive.
Benchmark 4, changing all CO state
codes to CL, is accomplished with a
one-line command:
CHANGE State TO “CL” FOR State = “CO”
ALL.
The time required for this task was 17
seconds, about average for microcom¬
puter data management systems.
Benchmark 3 called for extracting
selected records—in this case, authors
from California—and writing a report to
a disk file. Again it could be handled by
a single command from the KMAN
prompt. Setting the environment vari¬
able E.ODSK to TRUE opens the disk
hie DSKOUT.TXT. The command to col¬
lect unique California authors is:
LIST Lname Fname State
FOR State = “CA”
ORDER BY AZ Zip.
BIG GUNS
KnowledgeMan is far from perfect, but
its wealth of features lets the user forget
the imperfections or, at least, work
around them. MDBS has a fine reputa¬
tion for designing excellent relational
and postrelational data managers. This
product measures up to MDBS’s prom¬
ises not only with developers but also
in the end-user market.
KMAN is a reliable product. It had
many bugs in its early days, but none
that caused data loss. The product has
no crash recovery utility.
In its latest version, KMAN has got¬
ten on-line, context-sensitive help, roll-
down menus, and optional utilities that
integrate the database function with a
text processor, a communications pack¬
age, a report writing utility, a forms
painter, and a mouse driver. Optional
language interfaces are becoming avail¬
able (C exists now in the optional K-C
module) as are LAN, VAX, and XENIX/
UNIX versions. With the existing CP/M
and DOS configurations, KMAN will run
on a variety of machines.
With all its bells and whistles, the
KMAN system is expensive—more than
$1,600 retail with all the available op¬
tions. An upgrade from version 1.07
(the last 100-series version) to 2.0 is
$295. Factory support is available at sev¬
eral different response levels for vary¬
ing costs. Free support consists of a
call-back system in which the user must
call and leave a message, then wait for a
support representative to call back—
which may mean two or three days.
KnowledgeMan is a professional
applications development system. Cer¬
tainly the novice can use it for simple
applications, but KMAN is really de¬
signed as big guns for big gun applica¬
tions. Putting up with the minor bugs is
worth the opportunity to work with this
generally excellent software offering.
KMAN is so rich with features that the
question has never been “can KMAN do
such and such,” but rather “how do you
get it to do such and such.” I'm—1
Richard N. Aarons is senior editor at Busi¬
ness and Commercial Aviation magazine
where he evaluates aviation-related software
and computer systems. He conducts seminars
across the country on the use of microcom¬
puters in flight department management.
182
PC TECH JOURNAL
They told me those copies of
# programs I made for my computer
a 4 AVIsi ^ could cost the company hundreds of thousands
I'f' vvt/V^ t/v vl Kl f ('V of dollars. Maybe even cost me my job.
/ know
Few people realize that software piracy is a Federal crime. At ADAPSO ;
the computer software and services industry association we ; re doing
everything we can to inform the public of the problem. And the penalties.
You could unknowingly put your company on the receiving end of
a lawsuit by making illegal copies of software. Maybe even put yourself
on the receiving end of a pink slip. And that ; s why ADAPSO wants
you to know the facts.
Return the coupon for a brochure that explains the risks of software
piracy IPs free. And it may help you keep your job. L—l _ —l _ -l _I
Send this coupon or your business card for more information. J
Or call us at (703) 522-5055 and ask for Marilyn.
ADAPSO ; 1300 North Seventeenth Street, Arlington,
Virginia 22209
Software Piracy is a Federal Crime
helps save time, money and cuts frustrations. Compare, evaluate, and find products.
RECENT DISCOVERY
PC Scheme LISP - by TI. SCHEME has
special, simple, “orthogonal” syntax. Lexi¬
cal scoping, block structure, call by value,
and tail-recursive semantics. Compiler,
EMACS-like editor, DOS. Supports de¬
bugging, graphics, windowing. PC S 95
Al-Expert System Dev’t
Arity System - incorporate w/C. PC $295
Experteach - Powerful, no limit on
memory size. Samples PC $399
EXSYS - All RAM, Probability.
Why. Trees. Solid, files, popular PC $359
1st class - by example, interfaces $250
Insight 1 - Probabilities, required
thresholds, menus, fast ($79)
Insight 2 adds backward, forward,
partitions, dB2, lang., access. MS $399
Others: APES ($359), Advisor ($949),
ES Construction ($100), ESP($845),
Expert Choice ($449)
Al-Lisp
GC LISP Interpreter - “Common”, rich,
Interactive Tutorial $ 495 Call
GC LISP 286 Developer - 2 to 15 meg
RAM, compiler & Interp. $1195 Call
Microsoft MuLisp 85 $ 250 $199
TLC LISP - “LISP-Machine” - like,
all RAM, classes, compiler. MS $225
TransLISP - Good for learning MS $ 75
WALTZ LISP - “FRANZ LISP” -
like, big nums, debug, CPM-80 MS $149
Others: IQ LISP ($ 155), BYSO ($ 125),
Al-Prolog
ARITY Standard - full, 4 Meg
Interpreter - debug, C, ASM PC $ 350
COMPILER/Interpreter-EXE PC $ 795
With Exp Sys, Screen - KIT PC $1250
MicroProlog - enhanced MS $ 229
MProlog - Improved, Faster PC $ 475
Professional MicroProlog MS $ 359
Prolog-86 - Learn Fast MS $ 95
Others: Prolog-I ($365), Prolog-2 ($1795)
Free Literature
Compare Products
Evaluate products. Compare competitors. Learn
about new alternatives . One free call brings infor¬
mation on just about any programming need. Ask
for any “Packet” or Addon Packet □ AI □ ADA,
Modula □ BASIC □“C* □ COBOL □ Editors
□ FORTH □ FORTRAN □ PASCAL □ UNIX/PC
or □ Debuggers, Linkers.
Our Services:
• Programmer’s Referral List * Dealers Inquire
• Compare Products • Newsletter
• Help find a Publisher ' Rush Order
• Evaluation Literature FREE • Over 700 products
• BBS • 7 PM to 7 AM 617-826-4086 * National Accounts Center
C Language-Compilers
BDS C - solid value, fast CPM80
C86 by Cl - 8087, reliable MS
Consulair Mac C w/toolkit MAC
ECP C/88 MS
Lattice C - from Lifeboat MS
Lattice C - from Lattice MS
Mark Williams - w/debugger MS
Megamax - tight full ATARI/ST
Microsoft C 3.0 - new MS
QIC 88 by Code Works - Compiler
source, decent code, cross/native MS
Wizard C - Lattice C compatible,
full sys. Ill, lint, fast. MS
C Language-Interpreters
C-terp by Gimpel - full K & R,
.OBJ and ASM, large progs. MS $249
INSTANT C - Source debug,
Edit to Run-3 seconds MS $399
Interactive C by IMPACC Associates.
Interpreter, editor, source, debug. PC $225
Introducing C - learn C
fast, self paced tutorial PC $109
Professional Run/C - Run/C plus
create add-in libraries,
load/unload them. MS $199
Run/C - improved MS $109
C Support-Systems
Basic C Library by C Source $139
dBrief, the dBASE Assistant PC $ 95
dBase Tools for C Tools $ 79
PC Graphics $ 79
C Sharp - well supported. Source,
realtime, tasks $600
C ToolSet - DIFF, xref, source $135
Lattice Text Utilities $105
The HAMMER by OES Systems $179
SECURITY LIB-add encrypt to MSC.
C86 programs. Source $250 PC $125
C Libraries-General
Application Programmer’s Toolkit MS $375
Blaise C Tools 1 ($109), C Tools 2 $ 89
C Food by Lattice-ask for source MS $ 119
C Power Windows by Entelekon $119
C Utilities by Essential - Comprehensive
screen graphics, strings. Source. PC $139
C Worthy Library - Complete, machine
independent, source MS $295
Entelekon C Function Library PC $119
Entelekon Superfonts for C PC $ 45
Greenleaf Functions - portable, ASM $139
Polytron - for Lattice, ASM source $ 85
Software Horizons - Pack I PC $129
C Libraries-Communications
Asynch by Blaise $149
Greenleaf - full, fast $139
Software Horizons - pack 3 $ 119
C Libraries-Files
FILES: C Index by Trio - full B +
Tree, vary length field, multi compiler
/File is object only $ 89
/Plus is full source $349
dbVISTA - full indexing, plus optional
record types, pointers, Network.
Object only - MS C, LAT, C86 $179
Source - Single user MS $459
Source - Multiuser MS $929
CBTREE - multiuser record locking,
sequential, source, no royalties MS $ 99
$125
$299
$299
$ 60
$289
$339
$399
$179
$259
$125
$379
FEATURE
OBJECT-ORIENTED Programming: with High Performance
METHODS Smalltalk Language
METHODS is a powerful, language-compatible subset of Smalltalk-80that is ideal
for software prototyping, simulation, databases, advanced user interfaces, and numer¬
ous Al applications. Over lOOclasses and 2000methods — easily-customized software
building-blocks for rapid, incremental development of real-world applications.
An open-ended window environment that encourages exploration while allowing re¬
covery from any error. Extensively documented in a four-part manual that addresses
the needs of everyone from beginners to experienced programmers.
Methods also offers a communications interface that includes remote UNIX'" access,
an object-oriented shell for DOS programs, and much more.
AND NOW...
GRAPHIC METHODS — all of the above, converted to bit-mapped graphics,
plus. . .
- Logo-style graphics using class "Pen”
- Multiple fonts
- Form editor, for freehand drawing with the mouse
- Bit editor, for the creation or modification of icons, fonts, and other graphic elements
- A new debugger with the ability to inspect and change variables and resume
execution
- Supports CGA, EGA, Hercules, and AT&T Hi-Res graphic controllers. Available
after June 1st.
FEATURE
ASSEMBLER PROGRAMMERS: Be an Expert
and Take Out the Pain with the
First Assembler Interpreter/Debugger
ADVANCED TRACE-86
A complete, interactive, visual Assembler Interpreter/Compiler is integrated with a
powerful debugger and editor to create, debug, rewrite, and test code. Increase under¬
standing while you watch on your screen all aspects of the main processor (8088,8086,
80286) and floating point processor (8087, 80287).
Instructions from a full screen of disassembled code can be single-stepped or run at
other speeds while you watch registers, flags, the stack, and memory. Set or suspend
breakpoints by: address range, label, or conditions. Toggle to the user screen to see
the effects.
Add or delete program statements or directly change memory and registers to recarve
your program while debugging — don’t lose your ideas by waiting to assemble.
Gone too far? You can even back up your program!
On-line help and demos help you learn quickly.
Directly access DOS functions or the 8087/287’s math functions and quickly see
exactly what results are produced.
If you spend even a few hours with assembler code, whether your own or from a com¬
piler, you deserve to get frustrations out of your way with Advanced Trace-86.
METHODS PC DOS $239
GRAPHIC METHODS PCDOS $665
f Morgan Computing Co., Inc.
PCDOS $149
We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga.
CIRCLE NO. 162 ON READER SERVICE CARD
provides complete information, advice, guarantees and every product for Microcomputer Programming.
I ORDERTODAY
SPECIAL PRICE
C-TREE by Faircom - portable,
stable, thorough, balanced
Btree file manager with
Source. MSDOS List $395
ORDER BEFORE 6/30/86 and mention this
ad for a special price of $289.
ORDER AFTER 6/30/86 for _ $349.
Editors for Programming
BRIEF Programmer’s Editor -
undo, windows, reconfigure PC Call
C Screen with source 80/86 $ 75
EM ACS by UniPress - powerful,
multifile, MLISP. Source: $949 $299
Epsilon - like EM ACS PC $169
FirsTime by Spruce - Improve
productivity. Syntax directed for
Turbo ($69), Pascal ($229), orC ($239)
Kedit - like XEDIT PC $115
Lattice Screen Editor-multiwindow,
multitasking Amiga $100 MS $125
PM ATE - power, multitask 80/86 $159
VEDIT - well liked, macros,
buffers CPM-80-86. MS $119
XTC - multitasking PC $ 85
Atari ST & Amiga
We carry full lines of Manx, Lattice,
Metacompco and Prospero.
Note: All prices subject to change without notice.
Mention this ad. Some prices are specials. Ask about
COD and POs. All formats available.
UPS surface shipping add $3/item.
MultiLanguage Support
BTRIEVE ISAM MS $199
CODESIFTER - Execution PRO¬
FILER. Spot bottlenecks. MS $109
Dan Bricklin’s Demo Program PC $ 75
HALO Graphics- Multiple video
boards, printer, rich. Animation,
engineering, business.
Any MS language, Lattice, C86 PC $249
PLINK 86 - a program-independent
overlay linker to 32 levels for all MS
languages. C86 and Lattice. MS $299
Pfinish Performance Analyzer
by Phoenix MS $299
Profiler by DWB Associates MS $ 99
PS MAKE by UniPress PC $129
Screen Sculptor - slick, thorough,
fast, BASIC, PASCAL. PC $109
ZAP Communications- VT 100,
TEK 4010 emulation, file xfer. PC $ 85
Xenix-86 & Supporting
Basic - by Microsoft $279
Cobol - by Microsoft $795
Fortran - by Microsoft $399
PANEL Screen LIB - multi-language $539
Xenix Complete Development System $985
RECENT DISCOVERY
Synergy - Create user interfaces.
TopView-compatible multitasking
operating environment offers windows,
icons, pull-down menus and fonts
in 12K RAM. MS $375
Fortran & Supporting
Forlib + by Alpha - graph, comm. $ 59
Fortran >> C-FORTRIX C creates
maintainable translations. $995
MACFortran by Microsoft - full ’77 $229
MS Fortran $219
No Limit - Fortran Scientific $129
Poly Fortran - xref, pp, screen $149
Prospero - ’66, reentrant $390
RM Fortran - enhanced “IBM Ftn” $399
Scientific Subroutines - Matrix $149
Statistician by Alpha $269
Strings and Things - registers, shell $ 59
Debuggers
Advanced Trace-86 by Morgan
Modify code on fly. PC $149
CSPRITE - data structures PC $139
Periscope I - own 16K PC $269
Periscope II - symbolic. “Reset
Box.” 2 Screen PC $119
Software Source by Atron-
Lattice, MS C, Pascal, Windows
single step, 2 screen, log file. MS $115
w/Breakswitch $199
Pfix-86 Plus Symbolic Debugger
by Phoenix - windows PC $289
FEATURE
FEATURE
EXPERT SYSTEM DEVELOPMENT:
Practical, Complete, and Unlimited Features
Help Smoothly Build Expert Systems with EXSYS
EXSYS, Inc. has built a stable and complete toolkit by listening to users and examining
what they need. One of the first Expert System Shells for the PC, EXSYS provides
the features of just about all of its combined competitors, plus the documentation and
examples you will need to learn in this field.
UNLIMITED FEATURES? EXSYS supports backward chaining of IF/THEN/ELSE
rules, full math support, probabilities, explanations, the ability to call external pro¬
grams including spreadsheets, database managers, or custom-written front ends with
data passed to and from the external program, plus the ability to handle substantial ap¬
plications of up to 5,000 rules. All user input is either English text, menu selection,
or algebraic expression.
The systems developed can explain why information is needed and how it will be
used. The ability to “change and rerun” allows expert system modelling of problems.
Written entirely in C, EXSYS provides very high speed execution and efficient mem¬
ory utilization.
But if these features are not enough, use the interface to Lotus, dBASE, BASIC, C,
or any other EXEor COM file. Already in use at over 1,000 sites with many complex
and powerful expert systems developed. Several expert systems have been marketed
with a low-cost runtime license. Single computer use is only $349. Unlimited runtime
distribution is available for an additional $539.
PROVE CONCEPTS,
Tighten Designs, or
Quickly Create Demos with
DAN BRICKLIN’S DEMO
PROGRAM
Focus exclusively on what the user sees and
does — with complete, flexible tools for
fast and tangible results.
Show simulations of keyboard input and
screen content by using Dan’s editor and
screen building tools. “Snapshot” screens
created by other programs, use a prior
screen to create a new one. Draw boxes, cut
and paste any screen subset, control attri¬
butes like inverse video and color. Use the
graphics characters available in the text
mode.
Cause screens to branch in any sequence
using labels. Give the demo user control.
Print-control helps put your slide show to
paper or disk in a variety of formats.
PC DOS $349
PC DOS $75
FEATURE
PROGRAMMING TEAMS:
Manage and Control Source
Versions Efficiently with
POLYTRON Version Control
System (PVCS)
Duplicated efforts and time wasted rebuild¬
ing and cataloging source can be avoided.
Reliably delegate control for source AND
documentation to PVCS.
Save confusion and disk space by letting
PVCS maintain the complete current ver¬
sion plus all of the increments, decrements,
and related notes needed to rebuild any ver¬
sion. Maintains a complete history of
changes. No experience with such a system
is assumed. The documentation and exam¬
ples will help you learn quickly. Privilege
levels control access so the administrator
knows who is working on each module.
Now used in PC software development en¬
vironments at Hewlett-Packard, Sperry, 3-
COM, ROLM, and many more. Ask about
discounts for LAN and multi-keyboard
access.
mtumoNm pcdos $369
Call for a catalog, literature, advice and service you can trust
800 - 421-8006
NEW HOURS
8:30 AM-8:00 PM EST
THE PROGRAMMER’S SHOP™
128-P Rockland Sired, Hanover, MA 02339
Mass: 800442-9070 or 617-826-7531
“f have been pleased with your catalog selec¬
tion, the knowledge of your telephone
answering staff, and the promptness of your
service. I have every wish to become a
continuing customer of the Programmer’s
Shop.
Carl C. Rollo
486
CIRCLE NO. 151 ON READER SERVICE CARD
How to develop
elegant software
using Basic or M C
ft
by Cary Harwin
A widely shared dream is the fast, easy
creation of error-free code and documentation.
One of the secrets of top software designers
is increased productivity through the use of
powerful tools. Imagine the benefits of
joining this group. Here are some ways.
For Software Designers
Using BASIC:
BASIC Development Tools
Screen Builder +* easily creates
powerful application screens. Using your
favorite won! processor or the built-in full
screen editor you quickly paint your screen
image. Simply create and edit fields of any
length, anywhere on the screen, with both
full screen editing within each field and move¬
ment from field to field. Enhanced graphics
presentations are encouraged using all 255
ASCII characters. With available on-line
help you are quickly up and running. Then
error-free BASIC is automatically generated.
Now the code is ready to insert into your
application program without the use of
BLOAD or BSAVE. With no BIOS calls,
the code is tight and efficient The system is
complete with both a subroutine library and
multiple examples. For only $59 you
should be using it now.
STERLING]
Reader Inquiry
1 ? ELP 1
| Name: JohnD.Roael
Put it anywhere,
I Call it anytime,
| Display whatever
1 information you chooae
Company: GTL International
Address: 117Stooy Creek
City: Phi**
B-Plus Tree - * - * is a powerful record
handling subsystem. Write programs
without worrying about sorting or handling
of index files. Fast (access a key field in a
file of 32,000 records in less than one
second). Direct and sequential accessing,
variable length keys, multiple non unique
keys and multiple keys per record. Get first,
next, last or prior key in sequence. Users are Library*
amazed at the source code's simple elegance
and are delighted in the value pricing of $59.
windowing functions when called from a
BASIC program. Implementing EZ lets you
create modem and fast menus, windows,
notepads, etc. The power and flexibility
found here rivals the windowing power of the
modem languages found in the industry today
and a must have at only $39.
Each of these stand alone but when used
together they are truly outstanding. Prove it
to yourself by trying all four.
A Pleasant Surprise - it is hard to
find good, affordable software; so I've done
something about it For a limited time you
can purchase all four BASIC Development
Tools for only $89. ($206 value)
+Runs under interpretive BASICA or
Microsoft Basic. Compilable under IBM,
Microsoft, or QuickBASIC Compiler.
For Software Designers
Using "C" :
BlackStar™ "C" Function
Help Message -1 ** systems are a part
of every modem software application. Now
you can provide your users with the help
they expect. Interactive, context sensitive
help reduces the need for extensive manual
documentation while allowing your users to
become quickly operational. High perfor¬
mance is assured through the inclusion of a
fast assembler subroutine. Overhead to your
program is insignificant as your text informa¬
tion is turned into callable libraries. A
justifiable necessity at $49.
EZ Screen -1- * or Pop up Windows is
an assembler routine embedded in a basic
subroutine to perform screen handling and
louse support
The new generation of "C' compilers demand
a full featured, high performance function
library. With over 250 functions, BlackStar
is "the" new standard of "C" function
libraries. Created for internal development
and used extensively for the past two years,
BlackStar has only recently been released to
outside developers. Now there is no need for
you to re-invent the wheel. I believe that it
has everything (&more) on your wish-list of
functions.
Standard Functions:
Screen handling, strings, graphics, file I/O,
directory searches, peripheral control, and
extensive date/time
Supports device drivers
Utilities with source: document extract,
pretty printer, greplike
Powerful New Enhancements:
Menu manager and Text windows
Microsoft Moi
Encryption
Table driven printer control
Table driven keyboard functions for complete
keyboard control and customization
High Performance features:
Optimized (in assembler) for speed and
compactness
Interrupt redirection.
Complete
Compatible with Lattice and Microsoft
Compilers (Ver.3) - adaptable to others
Complete source code, demo programs and
comprehensive users manual
If you are using another function library it is
time to make this major upgrade.
Wow! - An outstanding value at our regular
price of $99 but a virtual steal at our limited
time special of only $79.
Amazing Offer - I promise your
programming productivity will be enhanced
if you use these tools. In addition, I am
going to make testing them in your home or
office so easy that it will be a shame if you
don't take advantage of my offer. Simply
order by calling our toll-free hotline. After
you receive your tools, put them to work
developing those challenging projects. Try
them for 75 days. If you're not convinced
that they are a fantastic value, simply return
them and I'll refund your full purchase price.
But act now and join that select group of top
software designers.
ORDER HOTLINE
1-800/7-CastIe
(in CA call: 213/306-3020)
Visa, MC, COD, and checks accepted.
Shipping included in U.S. and Canada. Others
please add $15. CA residents add 6% tax.
♦Requires PC or MS Dos.
Trademarks: BlackStar (Sterling Castle), MS-DOS
(Microsoft), IBM and PC-DOS (International Business
Machines), Lattice (Lattice, Inc)
STERLING
CASTLE
Helping You to Solve Problems
702 Washington Street Suite 174
Marina del Rey, CA 90292
P.S. Please remember that our products are
not copy protected and we charge no
royalties.
CIRCLE NO. 183 ON READER SERVICE CARD
PROGRAMMING PRACTICES
PATRICK J. FINAN
Accessing the Print Queue
The print spooler functions of DOS 3.x save on
program development time and present a standard
interface to the end user.
P rint spoolers and print buffers allow
users to move on to other applica¬
tions without waiting for the computer
to finish printing a spreadsheet or re¬
port. In many cases, print buffers make
it possible for users to operate without
having to purchase a new, faster, and
more expensive printer.
A hardware buffer receives and
stores output as fast as the computer
can generate it, then sends the output
to the printer at a slower rate. Thus, the
computer thinks it is finished printing
long before the printer has received the
last word. This approach can be an
effective strategy as long as the buffer is
equipped with an adequate amount of
memory. Hardware buffers, however,
are not always the best solution because
they add to desktop clutter.
A software buffer performs the
same function as its hardware counter¬
part by reserving a block of system
memory to be used as a buffer. Periodi¬
cally, the operating system executes a
program called a print spooler to trans¬
fer characters from the buffer to the
printer. This approach also can be effec¬
tive but steals valuable memory space
from spreadsheets, word processing
programs, and other applications.
Several software vendors have rec¬
ognized the user’s need for access to
background printing and have incorpo¬
rated special background printing capa¬
bilities into their products. The basic
drawback to this approach is that the
background spooler terminates when
the application is ended, leaving any
files waiting to be printed in limbo un¬
til that application is started again.
For a print spooler to work across
applications, it must be part of the PC’s
operating system. IBM recognized this
and began providing pieces of a back¬
ground spooler in DOS 2.0 with the
PRINT.COM command.
The first time PRINT is executed, it
is loaded into memory and becomes a
permanent part of the operating system.
Subsequent executions of PRINT can be
used to add and delete file names from
the print queue. Periodically, DOS in¬
terrupts whatever program is running
and passes control to the spooler. The
spooler is allowed a fixed amount of
time to transfer data from the first file
listed in the print queue to the output
device. Control of the system is then re¬
turned to the application.
Unfortunately, the DOS 2.0 PRINT
command allows access to the print
queue only through a DOS command;
users still cannot take advantage of the
background spooler’s capabilities from
within an application.
With DOS 3.0 came several new
features that made the background print
spooler more useful. A library of spool¬
er routines presented later in this arti¬
cle help users gain easy access to the
DOS 3.0 background print spooler.
DOS 3 0 has an expanded PRINT
command that provides better user con¬
trol over the operating parameters of
the background spooler. BASIC 3.0 also
features a SHELL command that enables
interpretive BASIC users to execute any
.COM, .EXE, or .BAT routine from with¬
in a BASIC program. In other words,
users can start the background spooler
and submit files for printing from with¬
in BASIC simply by issuing the SHELL
command and specifying DOS PRINT as
its parameter. For example, to start the
spooler and direct its output to LPT1:,
the user types the command:
SHELL “PRINT /D:LPT1”
Other PRINT command parameters also
can be included by the user to help es¬
tablish the desired print spooler envi¬
ronment. These parameters can specify
the size of the internal buffer, the maxi¬
mum number of files in the queue, and
the amount of time the operating sys¬
tem should allow for the spooler to
transfer output to the printer.
After the background spooler has
been started, the user can submit files
fqr printing by issuing the command:
SHELL “PRINT d:\path\filename.ext”
When using the PRINT command from
DOS or BASIC, the name of the file
being referenced should be fully quali¬
fied by specifying both the drive and
path. The wildcard characters * and ?
also can be used to queue multiple files
for printing by the background spooler.
The most important addition to
DOS 3.0 was a set of interrupt service
routines that provide programmers
writing in languages other than inter¬
pretive BASIC with full access to the
DOS background print queue from
their applications. In all, six functions
are available to the programmer via
JUNE 1986
187
ILLUSTRATION • MACIEK ALBRECHT
Software pirates
ruined our reputation
That was just for starters. Fm still
paying fines and legal fees because a few
employees thought they were saving me money
And it would have been so easy to avoid.
Software piracy is a Federal crime. At ADAPSO ; the computer software
and services industry association we ; re doing everything we can to
keep business leaders like you informed of the problem.
You can preserve the integrity of your company and protect it from
liability by actively discouraging software piracy ADAPSO can provide
you with materials that can help 7 such as sample policy statements and
information booklets for your employees.
Return the coupon to receive a full packet of information. IPs free. And
it could very easily keep your company off the hook.
^™Send this coupon or your business card for more information""^
Or call us at (703) 522-5055 and ask for Muriel.
ADAPSO ; 1300 North Seventeenth Street, Arlington,
Virginia 22209
Software Piracy is a Federal Crime
PROGRAMMING PRACTICES
The above structure specifies the file aitest.txt for print spooler commands. A sub¬
mit packet is a five-byte structure that points to the file name in ASCIIZ format.
The full file name string is not shown; these ASCIIZ strings are 64 bytes long.
DOS interrupt 47 (2FH) that can be
used to control the queue. In each case,
the user must set the AL register equal
to the desired function number and the
AH register equal to 1 before executing
interrupt 2FH. Some of the function
calls have additional input parameters,
which are described below.
After issuing the particular function
interrupt, the user can check for suc¬
cessful execution by testing the carry bit
of the flags register. If the carry bit is
not set, the user is assured that the
function executed successfully and any
return values set in the registers are
valid. However, if the carry bit is set, an
error was encountered and the AX reg¬
ister contains a DOS error code.
Function 0 can be called to deter¬
mine if the DOS background print
spooler has been installed and is avail¬
able for use. A return code of 255 in
the AL register indicates the spooler is
ready to receive the names of files to
print. A return code of 0 means the
spooler has not yet been installed using
the DOS PRINT command. A value of 1
indicates not only that the spooler is
not available, but also that it cannot be
installed either because the system is
not running under DOS 3.0 or because
interrupt 2FH already is being used for
some other purpose.
Function 1 adds a file name to the
DOS background print spooler queue.
Before executing the interrupt, the reg¬
ister pair DS:DX must point to the seg¬
mented address (segment:offset) of a
five-byte structure called a submit
packet (see figure 1). The first byte of
this packet must be a hex 0. Bytes 2
through 5 are set equal to the seg¬
mented address of the ASCIIZ string
that contains the drive, path, hie name,
and extension of the hie to be added to
the print queue. An ASCIIZ string is a
64-byte structure that contains the de¬
sired data and is terminated by an OH
of length 1 byte. When specifying the
segmented address of the ASCIIZ string
in the submit packet, bytes 2 and 3
must point to the offset portion, and
bytes 4 and 5 to the segment portion.
Function 2 allows the user to de¬
lete a hie name from the background
print queue. Before calling this func¬
tion, the user must set the register pair
DS:DX to the segmented address of an
ASCIIZ string which contains the drive,
path, and hie name of the hie to be del¬
eted from the queue. The wildcard
characters * and ? are valid in function
2 and can be used to delete a range of
hies from the queue with a single call.
The entire print queue, including
the hie currently printing, can be
cleared with function 3. This function
has no additional input parameters.
Function 4 suspends the spooler
and returns the segmented address of
the print spooler queue in the register
pair DS:SI. The spooler queue is a
2,048-byte block of memory, which is
large enough to hold 32 spooler en¬
tries. Each entry is a 64-byte ASCIIZ
string. If a spooler entry is shorter than
64 bytes, it is terminated by a byte of 0,
and all characters from that position out
to the 64th byte are meaningless. The
end of the queue is marked by a 0 in
Does YOUR disk Look Like
THIS?
Let
H.D. Tuneup
cleanup your act!
H.D. Tuneup tunes your disk file
system, making it better than new.
File loads speed along like new.
Directory searches are faster than
new.
H.D. Tuneup reallocates all of your
files to be contiguous. Each file is
placed in its proper location,
adjacent to it's neighbors in the
directory.
Disk operations run faster when
your files have been Tuned.
H.D. Tuneup relocates your sub¬
directories into one area of your
disk, as close to the root as possible.
All deleted entries are actually
removed.
Your drive head moves less from
directory to directory than when
your disk was new. TREE/F will fly
when listing all of your files.
H.D. Tuneup requires IBM
PC/XT/AT compatibility, 196k, and
DOS 2.x/3.x. Fixed disks up to 32mb
may be tuned, along with any 5.25"
diskette.
NOT COPY PROTECTED!
ONLY $39.95 plus $3.00 S/H
SofCap Inc.
P.O. Box 131
Cedar Knolls, N.J. 07927
Visa (201) 386-5876 M/C
N.J. residents add 6% sales tax.
For the best performance
from your disk
TUNE IT UP!!
Visa, Master Card, Checks, Money Orders, or
COD only.
JUNE 1986
CIRCLE NO. 164 ON READER SERVICE CARD
189
PROGRAMMING PRACTICES
the first byte of an entry. Users should
not try to shortcut the spooler by
modifying the print queue directly; the
service functions always should be used
to ensure reliability.
After function 4 has been executed,
function 5, which has no additional
input parameters, can be used to un¬
lock the queue and resume normal
print spooler operations.
Dealing with segmented addresses,
ASCIIZ strings, and submit packets can
get a bit tricky, and complete and accu¬
rate documentation of the 2FH interrupt
service functions is difficult to find. As a
result, users may find these to be frus¬
trating methods of accessing the print
spooler. However, a set of routines,
written in IBM Pascal (see listing 1),
simplifies the process of accessing the
DOS background print spooler. Those
writing in assembly language or C can
create a similar library using the Pascal
routines as a model. The six routines
are available for downloading from
PCTECHline as SPOOL.PAS.
Why debug your Program in
Assembly Language when you
wrote it in one of these...
Without source level debugging, the
programmer must spend time mentally
making translations between assembly
language and the C or Pascal in which the
program was written. These tedious trans¬
lations burn up valuable time which
should be spent making critical product
schedules. Lower level debugging tools
are superseded by Atron’s SOFTWARE
SOURCE PROBE. This is the debugging
tool used by professionals. Why? —
Because it has the features they need to
solve complex debugging problems.
SOFTWARE SOURCE PROBE has the
same command interface as the Atron
hardware assisted software debuggers —
so you can fill your lab with compatible
debugging tools and minimize new learning.
How To Single Step Your
Source Code And Keep Critical
Data In View
With SOFTWARE SOURCE PROBE, you
can step your program by source code
statements. While stepping, a window which
you define can display critical high level
data structures in your
program. The next
several source code
statements are also
displayed to give you
a preview of what the
program will do.
Software
Probe Source
How To Display Data In
Meaningful Formats
Why look at program data in hex when you
defined it to be another data type in your
program SOFTWARE SOURCE PROBE
provides a formatted print statement to
make the display of your variables look like
something you would recognize. You can
specify data symbolically, too.
Solving The Tough Bugs
When the others fail, SOFTWARE
SOURCE PROBE keeps on debugging.
When you need isolation between the
debugger and the program — you get
screen switching, dual monitor support, or
you can run the debugger from a totally
separate CRT. When you need to get out
of a program lock up state — you get
recovery through the optional crash
recovery switch box. When you want to
trace a procedure calling sequence — you
get a command to unthread stack nesting.
When you want conditional sequential
breakpoints — you get powerful LOOP,
LOOP COUNT and IF/THEN/ELSE debug
commands. When you want to build
complex command sequences, you get
Macro commands. And when you need an
affordable debugging tool — you get
SOFTWARE SOURCE PROBE - *129
CRASH RECOVERY SWITCH BOX — *99.
Then when you want to optimize the
performance of your program — get Atron’s
SOFTWARE PERFORMANCE AND
TIMING ANALYZER (also *129). It gives
you histograms of your executing program,
counts events, and shows you all the
execution times of given procedures.
So why waste
more time.
Call Atron and
get one of our
BUGBUSTERS
today...
20665 Fourth Street
tSBiSib
THE DEBUGGER COMPANY
* Saratoga, CA 95070 • 408/741-5900
CIRCLE NO. 249 ON READER SERVICE CARD
This library of spooler routines
takes advantage of the module facility of
IBM Pascal; thus, they can be compiled
separately. A SPOOL. OBJ module can be
created by running SPOOL.PAS through
PAS1 and PAS2 of the Pascal compiler.
This object module then can be merged
with the user’s application at link time,
eliminating needless recompiling of the
spooler routines.
The six spooler routines must be
declared in the application program as
external procedures. SPOOL.INC (see
listing 2) contains the necessary declara¬
tions and can be included using the
$INCLUDE compiler option.
Because SPOOL.PAS makes use of
the IBM-supplied IBMINTRP routine, the
A set of routines written
in IBM Pascal simplifies
the process of accessing
the DOS background
print spooler.
IBMPAS.LIB library must be specified by
the user in addition to the PASCAL.LIB
library when the application program
and the spooler procedures are linked.
If the application program is called
MAIN.PAS, the user should specify
main + spool as the object modules and
ibmpas + pascal as the libraries.
Each procedure in SPOOL.PAS in¬
cludes a list of values for the return
code, which should be checked for er¬
rors. The GET_SPOOL_STATUS return
codes have been changed from the er¬
ror codes described in function 0 to
give RETCODE a more consistent mean¬
ing across the spooler procedures.
The spooler routines should be
used only with DOS 3.0 or later. An ad¬
ditional routine included in the library
(GET_DOS_VERSION) uses the stan¬
dard DOS function call to determine
the version of the operating system.
The printer cannot be used for any
other purpose while files are waiting in
the queue. If the user accesses the
printer directly before all files listed in
the queue have been printed (by, for
example, pressing Shift-PrtSc to print
the screen), an “out-of-paper” or “print¬
er time-out” error results.
Patrick J. Finan is a senior systems analyst
with a degree in electrical engineering.
190
PC TECH JOURNAL
LISTING Is SPOOL.PAS
( IBM PASCAL LIBRARY >
< SPOOL.PAS >
( Background Print Spooler >
( for the IBM PC >
(Copyright <c) 1986 Patrick J. Finan >
(SINCLUOE: •IBMINTRP.INT')
MODULE SPOOL [PUBLIC];
USES IBMINTRP;
CONST
ERROR_MASK = 16#0001;
TYPE
SUBMIT_PACKET = RECORD
LEVEL_CODE [00]: BYTE;
FILE_OFFSET [01]: WORD;
FILE_SEGMENT [03]: WORD;
END;
ASCIIZ = LSTRING(64);
BLOCK = ARRAY [1..2048] OF CHAR;
PROCEDURE GET_DOS_VERSION(VAR MAJOR : BYTE;
VAR MINOR : BYTE;
VAR RETCOOE : INTEGER);
( MAJOR * 3 and MINOR = 10 when running under >
C DOS 3.10. >
( >
( The values for RETCODE are as follows: >
( 0 - DOS version in MAJOR and MINOR. >
( >0 - Error encountered... MAJOR AND MINOR may }
( not be valid. >
VAR
REGISTER : REGLIST;
BEGIN (GET_DOS_VERSION>
REGISTER.AX := 16*3000;
INTRP(16#21,REGISTER,REGISTER);
IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK
THEN RETCODE := ORD(REGISTER.AX)
ELSE RETCODE := 0;
MAJOR := LOBYTE(REGISTER.AX);
MINOR := HI BYTE(REGISTER.AX);
END; (GET_D0S_VERSlON>
PROCEDURE GET_SPOOL_STATUS(VAR RETCODE : INTEGER);
( The values returned in RETCODE are as follows: }
( -3 - Error in status request. >
( -2 - Spooler not available. >
( *1 * Spooler not installed. >
( 0 - Spooler installed and available. >
( >0 - DOS error code. >
VAR
REGISTER : REGLIST;
BEGIN (GET_SPOOL_STATUS>
REGISTER.AX := 16*0100;
INTRP(16*2F,REGISTER,REGISTER);
IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK
THEN RETCODE :* ORD(REGISTER.AX)
ELSE CASE (REGISTER.AX AND 16#00FF) OF
0: RETCODE :» -1;
1: RETCODE := -2;
255: RETCODE := 0;
OTHERWISE RETCODE : = -3;
END;
END; (GET_SPOOL__STATUS>
PROCEDURE SUBMIT_TO_SPOOL(VAR FILENAME : ASCIIZ;
VAR RETCODE : INTEGER);
( FILENAME := ‘d:\path\path\filename.ext 1 >
PROLOG
APPLIED!
The FIRST Interactive
Prolog for the IBM
and Macintosh.
PROLOG/i
A new enhanced Interactive
Prolog for MS-DOS. $£Q95
Upwardly compatible
with PROLOG V and V-plus.
PROLOG/m
Prolog for the Macintosh!
Edinburgh syntax.
Floating point,
math functions.
$ 99 95
THREE GREAT
APPLICATIONS
READY TO RUN
NO PROGRAMMING
EXPERIENCE NECESSARY.
NFL X-pert $49 95
Expert system for professional
football handicapping.
toolbox $ 29 95
Including subroutines that speed
and compress list handling,
searches, sorts, reversal algorithms.
toybox $ 29 95
A collection of games and puzzles
that make learning Prolog fun.
MIX AND MATCH FOR ADDED SAVINGS
PROLOG/i
PROLOG/m
•SAVE
Interpreter plus...
Toolbox or Toybox
$ 79.95
$109.95
$20
Toolbox and Toybox
99.95
129.95
30
NFL X-pert
99.95
129.95
20
NFL X-pert and
Toolbox and Toybox
119.95
149.95
30
BUY ALL 4 AND SAVE $50
129.95
159.95
50
Applications Only
Toolbox and Toybox
NFL X-pert and Toolbox or Toybox
BUY ALL 3 AND SAVE $20
$49.95
69.95
89.95
COMPATIBILITY
Applications fully
compatible with
Prolog compilers
and interpreters
with Edinburgh
syntax.
CHALCEDONY
System Requirements
PC-DOS/MS-DOS
Ver. 20 or later
256K RAM
512 Macintosh
5580 LA JOLLA BLVD.
SUITE 126 D
LA JOLLA, CA
SOFTWARE, INCJ. 2 ^ 8513
mm ■■PHONE ORDERS: 1-800-621-0852 EXT 468 mm mm
| □ PAYMENT ENCLOSED $_
CA residents add 6% sales tax
f □ CHARGE MY: □ MasterCard
□ Visa
II
Card No.
| Signature
Exp. Date
I Mr./Mrs./Ms.
s Address _
(please print full name)
* City/State/Zip
PROLOG/i $69.95
PROLOG/m 99.95
It you own PROLOG V or
PROLOG V-plus, call tor
upgrade information.
SHIPPING.
. $ 5.00 U.S.
7.50 Canada
10.00 Carribean,
Hawaii Air
20.00 Overseas Air
COD Orders Not Accepted ||
. 15 day check clearance
■K » 811*1 mm Mil
msm sr siw ns w&m wms§
JUNE 1986
CIRCLE NO. 139 ON READER SERVICE CARD
191
The First Idea-Processor For Programmers.
FirsTime
Has features no other editor has.
□ Fast program entry through single keystroke statement generators
□ Fast editing through syntax oriented cursor movements
□ Dramatically reduced debugging time through immediate syntax checking.
□ The error checking is thorough and includes semantics • Undefined variables,
types and constants • Assignment statements with mismatched types
• Errors in include files and macro expansions
□ Automatic program formatter (you specify the rules)
O Split Screen editing □ Command DOS from FirsTime
O Reading a file with errors moves cursor automatically to point of error
□ Unique programmer-oriented features
• zoom command gives top-down view of program logic
• view macro command shows expansion of a C macro in the editor
• view/update include file allows you to view and update an include file
• transform command allows you to transform statements to related ones
• search for next etror command
Requires MS DOS, 256k (384 recommended) & 5.25” drive
To Order Call: (201) 741-8188 or write:
SPRUCE TECHNOLOGY CORPORATION
PO. Box 7948
Shrewsbury, NJ 07701
FirsTime for Turbo Pascal $ 74.95
FirsTime for dBase III $125.00
FirsTime for MS-Pascal $245.00
FirsTime for C $295.00
FnTim. it • Iradtmwk o< Sp»oc. Ttchnolog* Cotpoubon • MS-OOS it t lftOomt.li
Microsoft Co.po.tnon • IBM m t l.toom».k of Imorotfionti Out me« Mtchmos me
• Vt>o Pisctf it l IrtOomarl. of Bortmj mtt»njHonM • dBm IM • t M0omt.li <* AMm-lM
CIRCLE NO. 242 ON READER SERVICE CARD
PROGRAMMING PRACTICES
C The values for RETCODE are as follows:
>
< 0 - File successfully submitted.
>
{ >0 * DOS error code.
>
VAR
PACKET : SUBMIT_PACKET;
REGISTER : REGLIST;
BEGIN CSUBMIT_TO_SPOOL>
CONCATlFILENAME,CHR(O));
PACKET.LEVEL_CODE := 16#00;
PACKET.FILE_SEGMENT := (ADS FILENAME Cl]).S;
PACKET.FILE_OF FSET (ADS FILENAME[13).R;
•
REGISTER.AX := 16#0101;
REGISTER.DS := (ADS PACKET).S;
REGISTER.DX := (ADS PACKET).R;
INTRP(16#2F,REGISTER,REGISTER);
IF (REGISTER.FLAGS AND ERROR_MASK) = ERR0R_
MASK
THEN RETCODE := ORD(REGISTER.AX)
ELSE RETCODE : = 0;
END; <SUBMIT_TO_SPOOL>
PROCEDURE DELETE_FR0M_SP00L(VAR FILENAME : ASCIIZ;
VAR RETCODE : INTEGER);
L FILENAME := 'd:\path\path\filename.ext*
>
L The wildcard characters * and ? are valid.
>
(.
>
C The values for RETCODE are as follows:
>
< 0 - file successfully deleted.
>
C >0 - DOS error code.
>
VAR
REGISTER : REGLIST;
BEGIN <DELETE_FROM_SPOOL>
CONCAT(FILENAME,CHR(0));
New for IBM PC/XT/AT
low cost mag tape subsystem
• Fast controller—40Kbytes/second
• New MAINSTREAMER™ tape drive
• Small size, lightweight
Send for our complete drive and interface manuals so
you can evaluate and compare. Only $25 for both.
Tape systems are also available for all other RS-232-C
interfaces. Call or write attn: IBEX Applications
Engineer today.
IBEX
Right for the times
IBEX COMPUTER CORPORATION
20741 Marilla St., Chatsworth, CA 91311
(818) 709-8100 TWX: 910-493-2071
OVERCOME
FORTRAN | PASCAL | C
LIMITATIONS WITH
$129
NO
LICENSE
FEE
Ver. 3.0 For:
MS FORTRAN/Pascal/C
IBM Professional
and R-M FORTRAN
SuperSoft FORTRAN
NOW SUPPORTS IBM ENHANCED GRAPHICS
AND HERCULES MONOCHROME GRAPHICS
A library of over 90 Assembler routines transform FORTRAN, Pascal and C language
compilers into the flexible, responsive, complete languages needed for the microcom¬
puter environment. Hundreds of NO LIMIT owners are creating highly interactive
software systems, often utilizing existing mainframe code and saving time and
money in the process. Ver. 3.0 features include:
EXTENSIVE GRAPHICS (Get, Put, Paint, Color, Dot, Line, Box, Circle, Ellipse)
FULL SCREEN CONTROL (Windows, Cursor, Read/Write Screen)
STRING MANIPULATION (Match, Compare, Concatenate/Extract, Pack, Justify)
KEYBOARD CONTROL (Read Key During Execution, String Read With Edit)
FILE MANAGEMENT (Exist?, Rename, Delete)
COMMUNICATIONS (Full Interrupt Driven to 9600 Baud, Set Com Line,
Send/Receive, Line/Modem Status)
INTERRUPTS DOS Execution, Program Execution
OTHER FEATURES (Command Line Read, DOS 3.1 Directories, Peek, Poke,
Random Numbers, System Status, etc.)
And to complement NO LIMIT, the I/O PRO development system allows creation
and editing of FORTRAN/Pascal/C callable screens. This word processor type sys¬
tem pays for itself several times over on your first project. $261.
M | E | F Environmental Inc.
P.O. Box 26537 Austin, Texas 78755
(800) 562-9700 (512) 251-5543 (Texas)
©Trademark of Microsoft Inc., Supersoft Inc., IBM Corporation, Ryan-McFarland and Microsoft Inc., respectively.
CIRCLE NO. 149 ON READER SERVICE CARD
192
CIRCLE NO. 133 ON READER SERVICE CARD
PC TECH JOURNAL
REGISTER.AX :* 16#0102;
REGISTER.DS : = (ADS FILENAME[1}).S;
REGISTER.DX := (ADS FILENAMEC1]).R;
INTRP(16#2F,REGISTER,REGISTER);
IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK
THEN RETCODE := ORD(REGISTER.AX)
ELSE RETCODE := 0;
END; CDELETE_FROM_SPOOL)
PROCEDURE CLEAR_SPOOL(VAR RETCODE : INTEGER);
i The values for RETCODE are as follows: >
{ 0 - spool cleared. >
{ >0 - DOS error code. }
VAR
REGISTER : REGLIST;
BEGIN <CLEAR_SPOOL>
REGISTER.AX := 16#0103;
INTRP(16#2F,REGISTER,REGISTER);
IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK
THEN RETCODE := ORD(REGISTER.AX)
ELSE RETCODE := 0;
END; <CLEAR_SPOOL>
PROCEDURE GET_SPOOL_QUE(VAR QUE_BUFFER : BLOCK;
VAR RETCOOE
: INTEGER);
{ This routine will return the current
DOS print }
{ queue in QUE_BUFFER.
>
<
>
{ The values for RETCOOE are as follows
: >
i 0 - request was successful.
>
{ >0 - DOS error code.
>
VAR
REGISTER : REGLIST;
DOS_BUFFER : ADS OF BLOCK;
BEGIN {GET_SPOOL_QUE>
REGISTER.AX := 16#0104;
INTRP(16#2F,REGISTER,REGISTER);
IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK
THEN RETCODE := ORD(REGISTER.AX)
ELSE RETCOOE := 0;
DOS_BUFFER.S := REGISTER.DS;
DOS_BUFFER.R := REGISTER.SI;
MOVESR(DOS_BUFFER, ADS QUE_BUFFER[1], 2048);
REGISTER.AX := 16#0105;
INTRP(16#2F,REGISTER,REGISTER);
END; <GET_SPOOL_QUE>
END.
LISTING 2: SPOOL.INC
TYPE
ASCIIZ = LSTRING(64);
BLOCK = ARRAY[1..20483 OF CHAR;
PROCEDURE GET_DOS_VERSION(VAR MAJOR : BYTE;
VAR MINOR : BYTE;
VAR RETCODE : INTEGER); EXTERN;
PROCEDURE GET_SPOOL_STATUS(VAR RETCOOE : INTEGER); EXTERN;
PROCEDURE SUBMIT_T0_SP00L(VAR FILENAME : ASCIIZ;
VAR RETCODE : INTEGER); EXTERN;
PROCEDURE DELETE_FROM_SPOOL(VAR FILENAME : ASCIIZ;
VAR RETCODE : INTEGER); EXTERN;
PROCEDURE CLEAR_SPOOL(VAR RETCODE : INTEGER); EXTERN;
PROCEDURE GET_SPOOL_QUE(VAR QUE_BUFFER : BLOCK;
VAR RETCODE : INTEGER); EXTERN;
JUNE 1986
Do you know where
your files are?
Lost on the Disk ? Tired of the search ?
Say Hello to SCOUT— The first memory-resident disk directory utility
that lets you do all this: search, view, move, delete, copy, organize,
format, sort, create, and TAKE CONTROL of your directories and
printer without leaving your working program. Easy-to-use windows
pop-up making SCOUT'S commands just a KEYSTROKE AWAY!
SCOUT is perfect for hard disks and floppy systems, too. In fact,
SCOUT is the only disk directory utility that can format a floppy disk
from within a resident program—AT TWICE DOS SPEED!
SCOUT works like SIDEKICK— SCOUT works WITH SIDEKICK.
In fact, SCOUT works with most major programs including dBase III,
Lotus 1-2-3, SuperCalc 3, WordStar, WordPerfect, Turbo Pascal,
Enable, and Sidekick. circle no. 140 on reader service card
WHY SETTLE “
FOR LESS?
Memory Resident
Remove from memory without reboot
Memory resident disk formatter
Move to directories
User selection of activation key
Move files
Mass file copy, delete
Search for dies
Multiple file sorts
Display directories
Alter tile attributes
Change default directory
Display disk space
View text files
Set printer control codes
Pop-up windows
Display directory using file masks
Single-key commands
Create/remove directories
Tag, untag, and retag files
Rename files
Rename directories
Cumulative We tag totals
Edit or delete volume labels
Print location of files found in search
Print directory catalog
Print listing of tiles in any directory
Show CAPs and NUMLOCK status
Display lull day, date, time
Display DOS version
Change sort type dynamically
INTRODUCTORY
OFFER
$ 49 95
NO RISK OFFER
30-Day Money-Back
Guarantee if not
thoroughly satisfied
SYSTEM REQUIREMENTS
IBM PC and compatbles
SCOUT loads in just 128K
with DOS 2.00
Supports color and mono¬
chrome monitors, and
Hercules Graphic Cards
CHALCEDONY
SOFTWARE, INC.
5580 LA JOLLA BLVD.
SUITE 126-T
LA JOLLA, CA.
92037
PHONE ORDERS: 1-800-621-0852 EXT468
!□ PAYMENT ENCLOSED $ ..
!□ CHARGE MY: □ MasterCard □Visa
| Card No._Exp. Date_
J Signature_
1 Name_
B Address_
I City/State/ZIP_
I Day Phone_
*■1
SCOUT $49.95
CA Residents
(sales tax) 3.00
Shipping
(see below) _
Total _
SHIPPING
$ 5.00 US/Canada
Surface
7.50 US Air
10.00 Overseas Air
NO COD ORDERS ACCEPTED
DEALER INQUIRIES WELCOME-
Special Demonstration
Package Available
Need to design a
graphics presentation? Communicate with
other PCs? Access a database? Find out
how in PC’s expertly written articles.
How are successful
professionals and companies using their
PCs? Find out in PC’s “Pro Columns” and
use their proven techniques to move ahead
in your own career.
Subscribe to PC today. Build your own IBM PC
reference library by volume and save up to 50%
off the regular one-year subscription price!
• One year (22 issues) only $21.97. (Save 37%).
• Two years (44 issues) only $34.97 (Save 50%).
To order, complete attached j f ! H
order card or call, toll-free, | af R
Taken one issue at a time, PC is the best
source of up-to-date news and information
about the IBM PC you can find anywhere.
But collect a few. and suddenly you realize
that you’ve assembled a comprehensive
reference work covering every significant new
IBM PC application, product and development.
An encyclopedia you receive 22 times a year!
Each volume of PC contributes the latest
information on a wide variety of subjects
including:
® New Product What’s the latest in
printers, word processing software and
database managers? And what’s best
for your needs? Everything you need to
know is in PC’s special reports and
product reviews.
8ZC67
PRODUCT WATCH
Reviews
and
Updates
ZIM RELEASE 2.5
Zanthe Information, Inc.
B taketwo VERSION 1.0
| United Software Security
BASIC DEVELOPMENT
SYSTEM
BetaTool Systems
WHITESMITH S C
COMPILER 3.01
Whitesmith’s Limited
THE FOREMOST BODY OF
Enter my subscription to PC Mago&ne
as indicated below'*
□CeS") '0,4*34.91^ A 5 ««s
oft the regular subscripts® price. ^ UKr
Check one: □ Payment Enclosed
Name
Company
Title
Address
City-- , p r ease allow up to 60 days for
^T-TcOTirsTTimTagement. Previous
versions of ZIM allowed application
programs to paint multiple (nonover¬
lapping) forms on the screen for simul¬
taneous viewing. However, only with
brute force could a ZIM programmer
treat the forms as a group. Now, under
version 2.5, as many as 30 separately
developed forms can be composed into
a single display, which is treated as a
unit by ZIM programs and by the ZIM
forms manager.
The real power of the displays
facility lies in its ability to show multi¬
ple instances of the same form, ar¬
ranged either vertically or horizontally
across the screen. By replicating a form
within a single-screen display, a busi-
set-building commands
now include the keep operator, which
performs the relational project opera¬
tion by discarding unwanted columns
and duplicate row values as a set is
built. By eliminating superfluous data
during set construction, keep speeds
the process and reduces storage re¬
quirements for result sets. A new com¬
pute verb also speeds set operations by
allowing commands to cull summary
statistics from sets without actually con¬
structing the set first.
ZIM’s ability to deal cleanly with
absent data distinguishes it from most
other data managers and programming
languages on the market. Most systems
require that a special value, such as 0
or the empty string, be reserved by ap-
lexliperations compactly. In ZIM, em¬
bedded assignments are most useful in
nonprocedural contexts, such as user
commands or report specifications.
The new manual is as precise and
succinct as was its predecessor, but it
treats novices to the program more
gently. The improved organization and
clear tutorials make ZIM more access¬
ible to first-time users who may lack an
extensive computer science back¬
ground. In addition, amenities., such as
section dividers and boldface page and
topic headings, help to speed quick-ref¬
erence use of the manual.
ZIM 2.5 is available free to users of
version 2.4 licensed under Zanthe’s soft¬
ware subscription program. Other 2.4
users can upgrade for $100.
—RICHARD M. FOARD
JUNE 1986
195
PRODUCT WATCH
BASIC DEVELOPMENT SYSTEM
BetaTool Systems
8972 East Hampden Avenue,
Suite 179, Denver, CO 80231
303/793-0145
PRICE: $125
M uch of the pain users experience
when trying to get a big program
off the ground now can be alleviated
with the BASIC Development System
(BDS). This product adds to the pro¬
gramming and debugging aids offered
by the IBM BASIC system.
BDS is comprised of seven parts.
XBASIC consists of a collection of mis¬
cellaneous helps, including command
abbreviations, such as E (EDIT), L
(LIST), P (LLIST), and D (DELETE). The
U (Un-NEW) command undoes the
work of NEW, provided the user has
not exited to DOS with the SYSTEM
command. Even more convenient are
the several scrolling commands. These
allow the listing of a program either by
pages or a line at the time, both back¬
wards and forwards. For example, Ctrl-
PgUp lists the first page of a program
on the screen; repeated PgDns list suc¬
cessive pages of the program.
SYSTEM TRON [LINE] [line num¬
ber] produces a single-step trace of a
BASIC program. Line number is an op¬
tional parameter that directs single step¬
ping to begin at that location. If LINE is
included, the line number of TRON is
expanded to include the actual instruc¬
tion. Line numbers and entire lines are
displayed at the top of the screen; in¬
struction display mode is toggled off
and on with the gray minus key.
The utilities of BDS also include
XREF, which lists all constants, line
numbers, and variables along with the
line numbers of their occurrences in
the program. If a variable is modified in
the instruction on a particular line, the
line number is listed with an asterisk.
pERSTOR”
Removable Hard Disk Cartridge Expansion Systems
BERNOULLI ALTERNATIVE!
I High Performance Fixed and Removable from 10 to 560 mbyte
rngmmmmmmSSm
■ Internal or
external mount
illlll
! 'III ■:
■ The only Removable Hard Disk Cartridge Drive that attaches
directly to the IBM PC-AT Controller*—internally mounted
pERSTORiM) p roc j uc ts provide portability, storage and backup for
IBM-PC, AT, XT and compatibles.
DOS, Xenix, Multi-User and Networks
Dual removables 12MB/12MB external $2,350.00
SYSTEMS & SOFTWARE, INC. (602) 948-7313
7825 East Redfield Road, Scottsdale, AZ 85260
‘Patent Pending Copyright 1985 Perstor*® is a trademark of Systems and Software, Inc.
IBM-PC, AT, XT, are registered trademarks of International Business Machines Corp.
CIRCLE NO. 231 ON READER SERVICE CARD
Other parameters show, for example,
the number of occurrences of the name
of the variable in a particular line. XREF
is most useful because it lists mis¬
spelled variables as well as those that
are correctly spelled, and it saves the
user from line-by-line proofreading for
typographical errors.
FIND scans a BASIC program and
produces a listing of strings or BASIC
key words. F. REM, for example, lists
lines containing remarks, even if an
apostrophe is used instead of REM to
denote remark lines. F, REM lists its
findings on the printer. F. sends BASIC
key-word references, such as FOR,
GOTO, +, =, and >, to the screen.
VARIABLE DUMP, another utility in-,
eluded with BDS, is very helpful in de¬
bugging and can be used along with
single stepping. The current values of
all variables can be listed on the screen
with V., while V, sends the output to
the printer. The names of specific vari¬
ables can be included as parameters in
order to limit the amount of informa¬
tion that is printed or displayed. A sim¬
ple V repeats the previous command
with the same parameters.
COMPRESS allows BASIC to occupy
less space in memory. Unnecessary
blanks are removed in the process, and
as many instructions as possible are
packed onto a single line and separated
by colons. UNCOMPRESS reverses the
process, as much as it is able. Figure 1
shows a small BASIC program of nine
lines. With COMPRESS (H is the oper¬
ator symbol), this program can be
squeezed onto two lines, and the byte
count can be reduced by nearly half.
UNCOMPRESS (I is the operator) can
restore the program to the original
expanded form (with a few more bytes
because of the insertion of variable type
definition symbols and the use of
indenting). Compression can save 30 to
40 percent in storage space and 7 to 10
percent in running time.
Testing the VARIABLE DUMP utility
using the V. operator on the expanded
test program after execution results in
the following output:
V.
126
A ! 108
I % 9
J % 10
Three variables had been defined
in the test program: A, /, and J. A is a
single-precision variable with a current
value of 108. / and J are integers with
current values of 9 and 10, respectively.
196
PC TECH JOURNAL
FIGURE 1: Compression
The BDS compresses a BASIC program
listing very efficiently—the sample file
is reduced from 119 bytes to 63
bytes. The re-expansion helps to pro¬
vide a clear listing.
An example of the cross-reference fea¬
ture follows:
X.
0 120
1 121 122
5 126
8 121
9 122
1.5 123
“120 126
A * 120/! * 123/12
I 102 *121/% 125/% 126/%
J 102 *122/% 124/%
This shows, for example, that the inte¬
ger / appears on lines 102, 121, 123,
and 126; it is unmodified on line 102.
Note that the constant 0 appears in
line 120 of figure 1, the constant 1 ap¬
pears in two lines, and the value of A is
altered in lines 120 and 123. A appears
twice in line 123, hence the 2 . (The
slashes in the figure are meant to act as
separators between the line numbers
and the variable type designators.)
ATTENTION C-TREE* USERS!
The Portable Application Support System provides
on-line query, screen I/O, report generation, and
form generation with no sacrifice in portability!
• Query system allows end user on-line data inquiry
and ad-hoc report generation
• Source code • Menu and data inquiry utilities
• No royalties on application programs or on exe¬
cutable versions of the Query System
• Uses C-tree* portability conventions
• Complete windowing capability in a portable system.
Configuration files included for IBM PC, MS-DOS
generic(ANSI), and Xenix systems
• Multiple window Screen I/O system $3 95 ■ 0 0
• Single/multiple line report generator
• Page oriented form generator with automatic pag¬
ination of variable length documents
• Other source code programs available. Call for
information.
VISA/Haster Charge accepted
‘KgRTZBERO ,,,0>
Gompvter Systems
*C-tree is a trademark of FairCom
CIRCLE NO. 148 ON READER SERVICE CARD
HS-DOSg UNIX MPtPQJi MAC QIP/DOg
NETWORKS §]00(3 DaStBtlo
©C3S Quires® ISAM E)©SS UKBK] MLDS
The creator of Access Manager™ brings you the
most powerful C source code, B+ Tree file handier:
• multi-key ISAM and low-level B+ Tree routines
• complete C source code written to K&R standards
• single-user, network and multi-tasking capabilities
• fixed and variable record length data files
• virtually opened files accommodate limited file descriptors
• no royalties on application programs
S395 COMPLETE
Specify diskette format:
• SVa" MS-DOS
• 8" CP/M
• 3 Vi" Mac
• 8" RT-11
For VISA, MC and COD orders
call (314) 445-6833
FairCom
2606 Johnson Drive
Columbia, MO 65203
© 1985 FairCom
The following are trademarks: c-tree and the circular disk logo—FairCom; MS—Microsoft Inc.;
CP/M and Access Manager—Digital Research Inc.; Unix—AT&T; Apple—Apple Computer Co.
CIRCLE NO. 119 ON READER SERVICE CARD
JUNE 1986
197
PRODUCT WATCH
Learn and Use AI Technology
In Your First Evening
With PROLOG-86
A complete Prolog Interpreter , Tutorial , and set of Sample Programs:
□ Write Symbolic Math or Abstract
Problem Solving Applications
This is a complete Prolog program to
convert from Farenheit to Centigrade:
f_to_c(C,F):- C is(F-32) *5/9. Planning
programs and games are included to
help you learn.
□ Modify and write Expert Systems.
Use the simple “Guess the animal”
example on the Tutorial or use the
sophisticated system for Section 318 of
the US Tax Code written by one of the
PROLOG-86 authors and published
in the March, 1985 issue of Dr. Dobb’s
Journal.
□ Understand Natural Language
Use the sample program that produces
a dBase DISPLAY command as output.
Programming experience is not required, but a logical mind is.
Prolog-86 Plus for $250 adds: Windowing, 8087, 640K memory access, random access
files, strings support and definate clause grammar.
RECENT IMPROVEMENTS: Floating point support, MSDOS commands, on-line
help, load Editor.
AVAILABILITY: All MSDOS, PCDOS systems.
□ BECOME FAMILIAR WITH
PROLOG IN ONE EVENING.
.Solution
<Systefns 1
335-P Washington St.
Norwell, Mass. 02061
617-659-1571
800 - 821-2492
CIRCLE NO. 126 ON READER SERVICE CARD
The last of the BDS utilities, SUPER
RENUM (R), allows the user totally or
partially to renumber a program. By in¬
cluding the proper parameters, the user
can move lines or blocks of code from
one position to another within a pro¬
gram. After they are moved, the lines
are renumbered to fall in proper se¬
quence according to the new location.
The distribution disk for the IBM
version of BDS contains the files
needed for each release of DOS/BASIC.
The IBM-compatible version of the dis¬
tribution disk includes files for several
different machines and versions of
DOS/BASIC. The appropriate file is
copied to the BASIC disk, and its name
is changed to BDS.COM. The file, along
with BASIC, is loaded into memory
using the command BDS M BASICA (for
BASICA). BDS is then resident in mem¬
ory and available as long as the user
does not exit to DOS. BDS also can be
used in a disk resident mode (BDS D
BASICA) if memory is in short supply.
Serious BASIC programmers will
find a helpful set of tools in BDS to
make their use of the language much
more efficient. The documentation is
good, but it could use a few more
examples. The program is machine-spe¬
cific, and different versions are available
for various IBM compatibles.
—PAUL HULTQUIST
TAKETWO VERSION 1.0
United Software Security
8133 Leesburg Pk, Vienna, VA 22180
703/556-0007
PRICE: $89.95
CIRCLE 350 ON READER SERVICE CARD
T akeTwo, a hard-disk backup pro¬
gram, is part of a new genre of ac¬
cessory software. Programs of this type
satisfy a single, well-defined need,
usually for less than $200. Other popu¬
lar examples of accessory software in¬
clude Sideways from Funk Software,
Inc., Borland’s SideKick and Turbo
198
PC TECH JOURNAL
Lightning, and Fastback, another backup
utility, from Fifth Generation Systems.
(Fastback was PC Tech Journals Octo¬
ber 1985 Product of the Month.)
TakeTwo can be compared to the
five disk backup programs reviewed in
the March 1986 issue of PC Tech Jour¬
nal (“Backup Utility Performance”
(Steven Armbrust and Ted Forgeron, p.
78): BackTrack from Tallgrass Software
Technologies; BAKUP from Software In¬
tegration, Inc.; DSBackup from Design
Software, Inc.; Dump/Restore from Cog¬
itate, Inc.; and Fastback. Like these pro¬
grams, TakeTwo is a replacement for
DOS BACKUP and RESTORE and is
much faster and more convenient to
use than those commands.
TakeTwo features a unique system
configuration screen. In addition to set¬
ting up the routine configuration
parameters, the user can choose from a
variety of noises that will signal when it
is time to insert a new backup diskette.
The choices include the common PC
speaker beep, a trumpet charge, door¬
bell chimes, and a siren. In addition,
with the system configuration screen, a
user can instruct TakeTwo to perform
an incremental backup daily and a full
backup once a month. When TakeTwo
is invoked, it checks the date and de¬
cides which type of backup to perform.
While backing up files, TakeTwo
makes good use of the screen display.
In addition to letting the user know
which file and directory currently are
being copied to disk, TakeTwo displays
a kilobyte-per-minute indicator as well
as the percentages of disks, directories,
files, and bytes that have been copied.
The program also displays bars that
slowly change to high intensity as the
diskettes are filled.
TakeTwo allows the user to select
options from menus or to run the pro¬
gram from a command line. It also can
be run from a batch file.
TakeTwo does not provide on-line
help or printed reports, but it does pro¬
vide an alternative to a print-out: the
history screen, which displays a com¬
plete file catalogue with backup dates.
TakeTwo uses the standard DOS COPY
command; as a result, file compression
is not possible. TakeTwo can perform
read-after-write verify on both BACKUP
and RESTORE by typing the DOS com¬
mand VERIFY ON. TakeTwo disks can
be reused without reformatting.
Although the user’s manual does
not mention that TakeTwo is copy pro¬
tected, the fact that it is became appar¬
ent during installation—the program
uses the Softguard SuperLok technolo¬
gy. TakeTwo does not require a key
disk inserted in drive A: to start the pro¬
gram, but the user is limited to two in¬
stalls, and, worse, the user’s manual
does not describe how to do an unin¬
stall if the user needs to move the pro¬
gram to another hard-disk drive. The
uninstall procedure is possible by run¬
ning the INSTALLH.COM program,
which is included on the TakeTwo dis¬
tribution disk, with a /U parameter (for
uninstall); this rids the hard disk’s root
directory of SuperLok’s hidden files and
increases TakeTwo’s remaining install
count from one to two.
TakeTwo uses standard DOS for¬
matted diskettes. If the user runs out of
formatted diskettes in midstream,
TakeTwo will format the disks as they
are inserted without forcing the user to
start the backup again. At the beginning
of a backup session, TakeTwo estimates
how many diskettes will be needed.
However, this count is not always accu¬
rate. During testing, TakeTwo claimed
that fourteen 1.2MB diskettes would be
needed to back up a 20MB, 6-MHz AT;
the procedure actually required 16.
The program has three modes of
operation: full, modified, and automatic.
In full mode, all files on the hard disk
are backed up regardless of whether or
not they have been changed since the
last time they were backed up. Modified
mode backs up files that have changed
since the last backup. In automatic
mode, TakeTwo figures out whether it
should do a full or a modified backup
and prompts the user to insert the ap¬
propriately numbered disk.
Like BAKUP and Fastback, TakeTwo
stores all backups (full, modified, or
automatic) on a single set of numbered
disks. This relieves the user from the
task of keeping track of multiple sets of
disks and worrying about which set has
the latest copy of a file.
Speed is of great importance for
disk backup programs. The faster the
program, the more often the user is
likely to use it. The benchmark used in
“Backup Utility Performance” was used
again to measure performance for this
review. The benchmark tests how long
it takes to back up a 20MB, 6-MHz AT
with 1,895 .files and 62 directories. The
test was performed on a machine run¬
ning DOS 3.1 with BUFFERS = 20.
TakeTwo does not set any perform¬
ance records; the program took 28 min¬
utes 46 seconds to execute the bench¬
mark. This time beats that of BackTrack,
BAKUP, and Dump/Restore, but it is
almost three times slower than that of
Itarbo Pascal Programmers:
Turbo-Task allows any Itarbo Pascal Program to
run in Foreground or Background
Turbo-Task will make your program resident in memory just like Sidekick, but with one big difference: your program can also
operate in background! Turbo-Task is simple to use and complete in its operation. You only add two lines to your source code.
Turbo-Task takes responsibility for all multitasking duties. You specify the invoke key that will bring the program to the
foreground (it will pop up just like Sidekick) and you specify a time-slice weight the program will have when operating in
background. A non-zero weight will allow the program to continue operation if the user moves it to the background. It will still
have full access to disk and printer. When it completes its job, (i.e. processing data on disk and printing a report), it has the option
to reset its weight to zero, thus remaining dormant until the user presses its invoke key and brings it to the foreground again.
Meanwhile, the user has been running other software undisturbed by this background task. Up to 16 programs can use
Turbo-Task at the same time, each with its own invoke key, independent foreground window, and time-slice weight. You do not
need to understand multitasking theory to use Turbo-Task. All the work is done for you. Turbo-Task does not interfere with
SIDEKICK. Works with TURBO EDITOR and GAMEWORKS.
Ram-Page provides a Virtual
Screen of any Size
Ram-Page takes heap space to create up to 16 pages that can
be used as virtual screens. The dimensions you select are only
limited by system memory. 256k of heap could be allocated to
a single Page with 80 chars by 1600 lines! All of Turbo's text
handling routines will operate on the Pages. Write, Writeln,
ClrScr, ClrEol, InsLine, DelLine, Window, and Gotoxy will be
redirected to work on the Page you specify. View-Page allows
you to display any portion of a Page on the screen. This "view
window" is automatically updated as writes are made to the
Page. These windows can appear, disappear, move, and overlap.
Text written to a hidden window will be there when the
overlapping window disappears. Text can be moved between
pages. Foreground and background attributes are maintained
separately for each Page. Ram-Page also provides two new
routines: InsColumn and DelColumn.
Ibrbo-Liiiker breaks the 64k
Code Segment Barrier
Turbo-Linker performs two important functions: it allows your
program to grow beyond 64k, and it eliminates the need to
continually recompile debugged routines. Turbo-Linker will
convert a set of your procedures into a module that can be
loaded into the heap at run time. These procedures will operate
in the heap thus freeing space in the code segment for the
main program. In effect, it is using the heap for overlays,
except these "overlay" module can be shared by any number
of programs. Once you create a module, you never have to
recompile it. You can maintain a library of modules of your
frequently used procedures. There is no limit on the number
of modules that can be loaded or the number of routines in
any module. A loaded module can be "disposed" and a new
module loaded in its place. Handles global variables. Allows
calls between modules.
All these utilities-ONLY $70
Tangent!
180 North Wacker Drive • Suite 350 • Chicago, IL 60606 • (312)263-0024
MC/VISA Requires Turbo 3.0 for PC compatibles
Turbo Pascal, Turbo Editor, Gameworks and SideKick are trademarks of Borland Inti.
JUNE 1986
CIRCLE NO. 206 ON READER SERVICE CARD
199
Block
software
theft...
with
THE BLOCK
Patented protection for your profits,
Software-based security systems can be cracked too easily.
But now there’s THE BLOCK,® an inexpensive device you
supply with your software and without which it will not
function.
Users simply plug THE BLOCK into an external port of
their PC, where it is totally transparent. However,
commands you program into your software check for the
presence of the device before allowing your program to run.
What’s more, THE BLOCK has the added protection of a
U.S. Government patent to prevent mass distribution of
illegal “work-alikes.”
THE BLOCK also lowers the price of security. Prices
range from $39 for single units to $24 for quantities over
1 , 000 .
So give your product investment the unmatched protection
of THE BLOCK. Send today for complete information and a
demonstration unit—or to get it even faster, phone us at
(203) 329-8870.
And block those hackers from hacking holes in your
software profit plans.
Software Security, Inc., 870 High Ridge Rd., Stamford, CT 06905.
WHITESMITH’S C COMPILER 3.01
Whitesmith’s Limited
97 Lowell Road, Concord, MA 01742
617/369-8499
PRICE: $1,000
CIRCLE 352 ON READER SERVICE CARD
CIRCLE NO. 173 ON READER SERVICE CARD
PRODUCT WATCH
Fastback. An incremental backup of a
single 38KB file took 3 minutes 8 sec¬
onds. Of that time, TakeTwo spent
more than 2 ^ minutes scanning the
directory structure on the disk to see if
any hies needed to be backed up.
Another 20 seconds was spent updating
the catalog on both the backup disk and
the hard disk. During the catalog
update, TakeTwo warns the user not to
remove the backup diskette.
TakeTwo is a solid product. It is
simple to use and rich in features. It
compares favorably with Fastback be¬
cause, while Fastback is three times as
fast, it is also three times as expensive.
—TED FORGERON
W hile most vendors are working to
establish a C standard, the White¬
smith C compiler maintains its own
libraries and operating system inter¬
faces. Some programmers appreciate
the low-level power of the Whitesmith
implementation, but many see only the
compatibility snags.
When the Whitesmith compiler is
compared with other C compilers cur¬
rently available on the market (see “The
State of C,” William J. Hunt, January
1986, p. 82), several fundamental differ¬
ences are evident. (See table 1 for the
basic specifications of the Whitesmith
compiler and table 2 for a summary of
the compiler’s functions.)
More so than other compilers,
Whitesmith’s C assumes that the user is
a professional software developer who
understands how the compiler is con¬
structed. Furthermore, the Whitesmith
implementation places greater emphasis
on portability than do the others. The
200
PC TECH JOURNAL
ANNOUNCING
TABLE 1: Whitesmith's C Specifications
VERSION TESTED
3.01
SUPPORTED ON OTHER SYSTEMS
See text
CROSS-COMPILER HOSTS
See text
AVAILABILITY OF ADD-ON LIBRARIES
Poor
MINIMUM DISK SPACE REQUIRED
1.8MB
MINIMUM RAM
236KB
SUPPORTS FULL LANGUAGE
Yes
FULL STANDARD LIBRARY
Yes
PC-SPECIFIC FUNCTIONS
Yes
ASSEMBLY LANGUAGE INTERFACE
Yes
COMPATIBILITY
MASM
No
LINK
No
SOURCE CODE
Start-up sequence
No
Library functions
No
MEMORY MODELS
Large
Yes
Medium
Yes
Compact
Yes
Small
Yes
COM
Yes
OTHER PROGRAMS INCLUDED
Librarian
Yes
Assembler
Yes
Linker
Yes
Source-level debugger
No
MAKE
Librarian
Other
PR, etc.
These specifications can be compared with those for other C compilers listed in
table 1 in “The State of C” by William J. Hunt (January 1986, p. 84).
Whitesmith’s C is portable to Whitesmith compilers on 30 different machines. The
three complete libraries included with the compiler account for its 1.8MB size.
compiler is available in more than 30
different versions, each designed for
various combinations of host and target
computers. Host operating systems
supported include UNIX, VAX VMS,
CP/M-80 and CP/M 68K, AMOS, and
Idris, as well as DOS.
In addition, differences exist
between Whitesmith’s C and other C
compilers in the runtime environment
and the construction of the compiler
and development tools.
The defined runtime environment
for Whitesmith’s C is a generic set of
functions that map across all the target
computers supported. This creates con¬
fusion because the names of many of
these functions do not correspond to
the names of the UNIX equivalents. In
addition, some basic functions such as
OPEN, CLOSE, READ, and WRITE have
the same names as the UNIX equiva¬
lents, but different parameters. As a re¬
sult, a UNIX-based C program is not
easily converted to the Whitesmith envi¬
ronment, especially if the program per¬
forms nonbuffered I/O using READ(),
WRITE(), or other low-level services.
Whitesmith uses a prototype file
with the compiler’s development tools
to tell the preprocessor, the compiler
stages, and the linker which files to pro¬
cess and which options to use. Most
other C compilers use switches to
accomplish this task. The prototype file
is more flexible than switches, but also
much more difficult to use. The syntax
of the file resembles that of a job con¬
trol language used on a mainframe that
is a myriad of possible options, flags,
and steps. In a team development envi¬
ronment, several prototype files might
be maintained to support different com¬
pilation options. With a single user or
small group, this maintenance task is
much more trouble than it is worth;
Whitesmith’s C is contained on sev¬
en disks that are shipped in two fabric-
covered looseleaf binders. The first six
disks contain the current release of the
compiler; the seventh contains replace¬
ment hies that can be used to correct
program bugs. The documentation in
the first binder covers the basics of the
compiler’s operation and support for C.
The second binder documents the PC-
ZIPCALC
FOR
TURBO PASCAL™
Capability to go from screen to screen
in a fraction of a second will provide
your software the decisive competitive
edge - ZIPCALC makes this possible
for both text and numbers.
INSTANT TEXT DISPLAY
Standard Pascal "write" procedure
takes several seconds to fill the screen
with text data. ZIPCALC fills the
screen with the same text in less than
1/10 second. Full instant windowing
capability is also included.
ULTRA FAST NUMBER DISPLAY
Writing real numbers adds crucial time
to convert the number to a printable
string. ZIPCALC removes this time
barrier by providing a 32-bit Long
Integer data type that converts to a
printable string 7 times faster.
HIGH SPEED COMPUTATION
The Long Integer data type is the ideal
alternative to the real data type for a
wide variety of financial and other
applications because of its dramatic
increase in computation speed.
ZIPCALC provides a full assortment of
procedures and functions for Long
Integer arithmetic, shifts, compares,
conversions to other data types, and
full string conversion (decimal, dollar,
hex, binary). ZIPCALC puts the power
of a 32-bit processor at your fingertips
in convenient Pascal callable form.
EASY TO LEARN • EASY TO USE
ZIPCALC consists of 35 highly
optimized procedures and functions,
most assembler coded. Tutorial User's
Guide, programmed demonstrations,
and many examples make ZIPCALC
easy to learn and easy to use.
IBM PC & TRUE COMPATIBLES
$45 including N.Y. sales tax & shipping
DYNAMOS
MICRO-DATA SYSTEMS. INC.
1045-T Gravel Road
Webster, N.Y. 14580
(716) 671-5866
Turbo Pascal is a registered trademark of Borland
International Inc.
CIRCLE NO. 104 ON READER SERVICE CARD
201
JUNE 1986
The Answer
to your
Debug g ing
Problems
PDT
PDT is a hardware-assisted debugger
for the IBM-PC/XT and AT* families
of personal computers.
TRAPS WRITES INTO CODE
AREAS
MANUAL BREAK SWITCH
EASY TO USE—On-line HELP with
a screen oriented display.
KEY FEATURES:
• Hardware and software break¬
points
• Real-time trace
• Symbol and line number support
• Source-level debugging
• On-line symbolic assembly and
disassembly
• Macros with parameters
• Automatically tracks breakpoints
in overlayed code (PLINK86)**
ALSO AVAILABLE as stand-alone
software debugger RBUG86.
For further information, please con¬
tact:
Amv&i Sofcfiwue
Corporation
20863 Stevens Creek Boulevard
Cupertino, CA 95014
(408) 253-7515
♦IBM-PC/XT/AT are registered trademarks of Interna¬
tional Business Machines Corporation.
**PLINK86 is a registered trademark of Phoenix Soft¬
ware Associates, Ltd.
PRODUCT WATCH
TABLE 2: Compiler Features
COMPILER OPERATION
Single-step compile command
Yes
Compile and link
Yes
Accepts list of files
Yes
Accepts wildcards
No
Lists preprocessor output
Yes
Lists assembler output
Yes
Line numbers in error messages
Yes
Header file search list
No
Flexible disk file layout
No
C LANGUAGE EXTENSIONS
Embedded assembly language
No
Void function returns
Yes
Enumerated types
Yes
Structure assignment, etc.
Yes
Function argument checking
Yes
LIBRARY EXTENSIONS
Math functions (sqrt, exp, etc.)
Yes
Unbuffered file I/O
Yes
Keyboard input (low-level)
Yes
PC screen output (cursor control, attributes, scroll) No
Execute programs/DOS (exec/fork and system) Yes
DOS services (date, time, etc.)
Some
PC-specific functions
Some
UNIX-compatible functions
Some
Error recovery (setjmpO, longjmpO)
Yes
FILE I/O
Redirection
Yes
Full path names
Yes
DOS 1.1 support
No
DOS 3.1 file sharing
No
Record locking
No
ASCII/binary mode
Yes
MEMORY USAGE
Overlays
No
Default stack size
Yes
Stack size settable
Yes
Stack overflow checking
No
8086 FAMILY SUPPORT
Byte/word alignment
Yes
80186/80286 support
No
8087/80287 support
Yes
Automatic sensing
Yes
ROM support
Yes
These compiler features can be compared with those for other C compilers listed
in table 2 in ‘The State of C” by William J. Hunt (January 1986, p. 86).
The Whitesmith’s C compiler includes three complete libraries. They are full fea¬
tured but not compatible with standard C libraries.
specific parts of the compiler and the li¬
Whitesmith’s C requires so much mem¬
brary. Because of this division, users
ory because it contains three complete
may have difficulty deciding in which
libraries: ANSII library, extended ANSII,
binder to look for the answer to a
and a portable library.
specific question. Fortunately, the
The system consists of a three-pass
installation instructions are provided
compiler, an assembler, a linker, and an
separately. Overall, the documentation
object format translator. All six of these
is complete (see table 3).
components are necessary to producing
The development programs, the
an .EXE file. A lister and various object
header files, and the libraries are each
library utilities also are included. The
kept in separate directories. The total
assembler and linker use proprietary
space required by the program is
object files that are not compatible with
1.8MB, about twice the average of the
the LINK.OBJ format. Further, the as¬
compilers reviewed in “The State of C.”
sembler source format is not compati-
CIRCLE NO. 214 ON READER SERVICE CARD
PC TECH JOURNAL
TABLE 3: Documentation Quality
INSTALLATION
Packing list
Fair
File inventory
Fair
Key hies described
Poor
Quick step-by-step procedure
Good
Instructions for floppy and hard-disk conhgurations
Good
List changes from last version
Good
SET-UP
Set-up assumptions described
Good
Notes on RAM/second hard disk
Fair
OPERATIONS EXPLAINED
Compile options
Poor
Compiler error messages
T inLino C nmorumy
Fair
Poor
xxxxxx xxxxx
X XX X
X XX
XXXXXX X
X X
X XX
X xxxxx
XXXXXXX XXXXXX XXXXX X X
XX X XX X
XXX XX
X XXXX X XXXXXXX
XX X XX
XX X XX X
X XXXXXX XXXXX X X
X
xxxxx
X
X
xxxxxx
X
X
XXXX
X
X
X
X
X
X
X
X
XX
X
X
X
X
X
X
X
X
X
X
X
X
X X
X*
X
X
X
X
X
X
X
xxxxxx
X
X X
xxxxxx
X
X
X
X
X
X
X
X
X
X X
X
X
X
X X
X
X
X
X
X
X
X
XX
X
X
X
XXXX
xxxxx
xxxxx
X
X
X
X
X
X
X
X
X
THE MAGAZINE FOR PC SYSTEMS EXPERTS
AT SQV. OFF!
SEND HE:
IE ISSUES FOR $E3-7D
24 ISSUES FOR $47-40
I GET TWO ISSUES FOR THE PRICE OF ONE!*
MR./nRS./ns-
COMPANY_
ADDRESS_
PLEASE PRINT
4S465
□ BUSINESS
□ HONE
CITY_STATE_ZIP-
CHECK ONE: □ PAYMENT ENCLOSED □ BILL ME LATER
ADD PER YEAR IN CANADA AND ALL OTHER FOREIGN COUNTRIES-
CASH PAYMENT IN U-S- CURRENCY ONLY- PLEASE ALLOW 30 TO L.D DAYS
FOR DELIVERY OF FIRST ISSUE-
♦SAVINGS BASED ON SINGLE COPY PRICE OF $3-^5-
severely limit add-on library support.
The benchmark programs for this
evaluation were run on an Alpha Micro
Workstation with 512KB and a 10MB
hard disk (see table 4 for benchmark
results). CONFIG.SYS contained
FILES=20 and BUFFERS=20. Because
so many phases are required for compi¬
lation and linking, and because a proto¬
type hie and a driver control the entire
process, compilation and link times for
the Whitesmith compiler are slow. In
particular, the link times are almost
JUNE 1986
compilers run on the PC.
However, once compilation is com¬
pleted, the actual code produced by the
compiler falls well within the range of
acceptable speed and size standards for
C compilers on the PC. The exceptions
are the character I/O functions getc( )
and putc( ), for which the execution
times are slower than average. Register
variables are supported and, when
used, increase execution speed.
Whitesmith’s C offers two definite
advantages. First, it supports, in addition
Start repairing PC’s
for only
$2995
V U-DATA fa
CORPORATION \ ^
9180 Brown Deer Road, San Diego, CA 92121
(619) 452-7670
IBM, IBM PC and IBM XT are registered trademarks of
International Business Machine Corporation,
CIRCLE NO. 212 ON READER SERVICE CARD
203
FOR DP PROFESSIONALS AND COMPUTER SPECIALISTS
WHO PLAY IT SMART.
DATA SOURCES is published four times a year, so your
information is always up-to-date. And it comes in two
handy volumes—hardware and software. Tightly format¬
ted and superbly organized, DATA SOURCES will give
you a complete overview of more than 25,000 software
packages, 18,000 hardware and data communications
products, and profiles of more than 10,000
manufacturing companies.
To subscribe, call toll-free 1-800-443-0100, ext. 251.
We ’ll send your first two-volume edition on a 30-day
approval basis and enter your one year (four editions)
subscription for just $230—more than 24% off the
regular price.
In the complex and ever-changing computer field, smart
means knowing how to make the right product choices.
Without wasting time and money.
Which means DATA SOURCES.
DATA SOURCES is a complete reference “factbook”
of virtually every computer system and software package
on the market. With product comparison charts that let
you compare specifications and prices at a glance.
It’s the only resource of its kind.
With DATA SOURCES you can make better, more intelli¬
gent comparisons—from the broadest range of possibilities
-—in minutes.
Software Packa g e index to help
you access specific packages,
even it you're not sure of the
author or product classification.
Software listings offer the most
complete section you'll find any¬
where—over 25,000 systems
and applications packages.
Hardware including terminals,
printers, controllers, memory
devices and more.
Data Communications included in
the Hardware volume, covering the
full range of data comm products
—comm processors, local area
networks, virtually anything you
require^^
Product Comparison Charts make
it easy for you to quickly compare
an entire group of products of a
similar nature. Each entry includes
a page reference directing you to
more comprehensive information.
PO. Box 5845.
Cherry Hill. N.J. 08034
Compan y Profiles provide quick
access to 10,000 hardware, soft¬
ware and data comm vendors.
SOFTWARE PACKAGE INDEX
WORDMARC, MAh
International pg N
W^^^VRC, Pulsar b-
HIGH-EN )
MICRO PERIPHERALS, IN
(MPI)
MICRO LAB
2699 Skokie Valley Rd.
Highland Park, IL 60035
312-433-7550
President: Stan Goldberg; VP Marketing:
Susan Goldberg; VP Sales: Evelyn Burg
VP Research/Dev.: Mike Hatlak
Sales $5,000,000; Empl. 60; Est. 1980
Business Areas—Software
9754 Deering Ave.
Chatsworth, CA 91311
213-709-4202; TLX: 910-494- 1L
CEO: Ralph Gabai; President: I
Campbell; VP Marketing/Sales
Krunic
Sales $60,000,000; Empl. 1,5C
1977
Manufactures—Disk equip.
Other Business Areas—Soft
MICRO MANUFACTURING
SYSTEMS
2600 Corporate Exchange Dr.
Columbus, OH 43229
614-895-0738
President: Larry J. Fox; VP Marketing:
Gregory A. Miller
Sales $1,200,000; Empl. 12; Est. 1979
Business Areas—Software; Turnkey
MICRO SOFTWARE,
5275 Edina Industrial Blv
Minneapolis, MN 55435
612-831-0079
President: Robert Hildr
Paul Clifford; VP Sale
Secretary/Treas.: Tim
Sales $1,500,000; E
' r Nsiness Areas—S
gtfNfeimming; Syr
MICRO MATES
P.O. Box 3695
Reading, F||^
215-921-OmM
Owner: HaZM
Sales $12M?S
Business /kS
training H
MICRO
5109 Plead
Fairfield, q
513-896-7/
President: I
Empl. 14; E
Business A
Programmii
Distributor;
Sys. analyt
BLACK BOX CATA’
BRation product of
IS PUBLISHING COMPANY
MANUFACTURERS
AND MOfi
MODE
o]
: _J
L
HIGH-END
T
MICROCOMPl
(32-bit)
I
ALCYON
P
APS Integrated Desi
L
Workstation fj
i e
APS.RMS Rackmoui
X
APX Extended Proc«
0
D
ALPHA MICRO SYST
? R
c
AM-1000
1 ^
AM-1000E
j
AM-1000X
AM-1042E
AM-1072
AM-1082
MULTIPLEXORS/CONC
DATACOMM MANAGEMEIS
SCIENCES (Continued)
link loopback; Indicators
RackmountD 17,000 channel \
□ 1971
GENERAL DATACOMR
INDUSTRIES, INC.
Company Profile located on p§
• MUX/VERTER
Point-to-point; Multipoint □ 16
50-300 b^s async input □ Trap
□ 1 composite link(s) D 1,8001
ite rate □ General (common) f
composite link loopback; Lcf
loopback; Remote channel
dicators □ Up to 16 VF inputsf
300 bps modems □ Rackmo*
channel ends installed □ '
— $8,000 (16-ch.)
• 1150 Series
Point-to-point; Multipoint □ 26§§§|.
26 async □ Up to 600 bps async jt C
RS-232; 20/60 mA current loop input tnter-
faces(s) □ Transparent input □ 3 FDX con-
trols/ch. n 1 composite link(s) 01,200 bps
composite rate □ General (common) alarm;
Local channel loopback; Remote channel
loopback; Local composite link loopback;
Indicators □ Standalone; Rackmount □ 25,-
000 channel ends installed □ 1971 □
Purchase — $575 (per ch.)
GTE NETWORK SYSTEMS
WORD PROCESSING, On-Line Software
International pg N-1050
WORD PROCESSING, Philips Information
Systems pg N-1058
WORD PROCESSING, Professional
Business Computer Systems pg N-1060
WORD PROCESSING, RCA Service Data
Services Division pg N-1064
WORD PROCESSING, SBS Computers
pg N-1034
WORD PROCESSING, Solvation pg N-698
WORD PROCESSING, State of the Art
pg N-1029
WORD PROCESSING, Stratus Computer
pg N-1060
WORD PROCESSING, Sydney
Development pg N-1051
WORD PROCESSING, Us Plus pg N-1034
WOhD PROCESSING, Westrend
Business Systems pg N-708
WORD PROCESSING DICTIONARY,
Stratus Computer pg N-1060
WORD PROCESSING ENHANCEMENT,
Informatics General pg N-1063
WORD PROCESSING IN SPANISH,
Philips Group pg N-1034
WORD PROCESSING SYSTEM,
Cromemco pg N-1036
WORD PROCESSING SYSTEM, Modtek
pg N-1055
WORD PROCESSING-S/23, IBM
pg N-1045
WORD PROCESSING/DATA
CONVERSION, Muller-Mugno
pg N-1040
WORD PROCESSING/ELECTRONI,
TYPEWRITER, Sulcus Computi
pg N-1060
WORD PROCESSOR, Convera^
Tech
WOI
l
*1240 (24-ch.)
SOFTWARE COMPANY PROFILES
See advertisement c
113, 141, 147, 149, |
Company Profile loc^
• CONC-GP
2,4,8 channels □
bps async input H
□ 9.600 brs-rft
(subsidiary of GTE Coro 1
T915
PRODUCT WATCH
TABLE 4: Performance Benchmarks
COMPILE TIMES
60-line file
47.6
150-line file
500-line file
98.0
159.5
LINK TIMES
1 object file
6 object files
PROGRAM SIZES (bytes)
Sieve
Pentathlon
GENERAL OPERATIONS
(small/large model)
Function calls (Fibonacci)
69.3
73.3
17,104
19,536
29.5/30.8
Integer arithmetic
39.2/41.6
Long arithmetic
Subscripts (character count)
115.2/120.1
24.1/33.9
Pointer use (string copy)
With register variables
Eratosthenes sieve
With register variables
44.0/58.7
31.3/58.8
25.3/29.3
18.7/20.3
TILE I/O
(small/larse model)
Read/write
Floppy to floppy
Hard disk to hard disk
7.5/8.0
3.2/4.6
Getc/putc
Floppy to floppy
116.4/119.6
Hard disk to hard disk
46.7/52.3
Floating-point operations
(small/large model)
Add/multiply (dot product)
Exp/log
Sin/tan (trig functions)
15/8/161.9
150.8/150.2
215.2/205.0
Because Whitesmith’s C is too large for effective floppy-disk compilations, only
hard-disk compilation times are listed.
Benchmarks were run on a PC/XT compatible with a Norton speed index of l.O.
Care should he taken when comparing these benchmark times to those listed in
table 4 in “The State of C” (William J. Hunt, January 1986, p. 90), which were
reported for an IBM PC/XT.
The benchmark tests, designed for standard C compilers, were modified consider¬
ably to compile under Whitesmith’s C. The benchmark times are quite respectable.
to the five standard memory models
erated whenever the function is refer¬
(small, large program, large data, large,
and .COM), an extended small memory
model. This sixth option allows not
only the small data items to be linked
enced. This is useful for code that inter¬
faces with the PC’s operating system or
hardware at an extremely low level.
As a second advantage, White¬
into groups, but a few large data items
to be linked as well. Programs that have
smith’s C offers support and documen¬
tation of the ANSI extensions to the C
only a few large data structures can be
compiled without every data item being
referenced through a far pointer and, as
a result, without sacrificing any speed.
This flexibility is not available in other
C compilers.
In addition, the extended small
language. Thus, assuming the coding
rules are followed and the appropriate
header files are used, programs written
in Whitesmith’s C are portable to other
hardware systems running the ANSI
standard with very little change. The
manual details portability considerations
memory model provides a #pragma
statement that allows the user to control
for writing ANSI-standard programs.
These two advantages are mini¬
the allocation of data and functions
mized by the product’s needless incom¬
within the program. For example,
#pragma can make a specific function
far callable or interrupt callable. When
patibilities. The user is left wondering
why Whitesmith insists on marching to
the beat of a different drummer.
the program is completely linked, the
appropriate calling sequences are gen-
—MARTY FRANZ
lllllHl
l-Bus Expansion Chassis
for IBM PC, PC/XT, PC-AT,
Compaq, and
other compatibles!
I-Bus
SYSTEMS
9235 Chesapeake Drive
San Diego, CA 92123
If you want the most from your PC
but you’ve run out of places to put
your add-on cards, an I-Bus Expansion
Chassis is the right solution.
Choose our popular 6-slot mini¬
chassis or the larger 12-slot chassis
with room for two half-height drives.
Both come fully tested, complete with
power supply and interface. (The inter¬
face card requires one slot in your PC.)
Prices start at $795.
They’re ideal for portable PC’s: a
new quick-release 18" or 48" cable
lets you leave the chassis (and all the
connections to its cards) in place while
removing the PC for travel. Or the
reverse: move an expansion chassis
with special-purpose cards from PC to
PC in labs or test facilities.
There’s no special addressing or
software required to access expansion
cards, and no added wait states for
memory access. I-Bus expansion
chassis works with all add-on cards—
including display, memory, networking,
communications and disk drive cards.
Call today
TOLL FREE:
(800) 382-4229
in California
call (619)
569-0646
JUNE 1986
CIRCLE NO. 202 ON READER SERVICE CARD
205
The Professional Edge:
If you’re an advanced IBM PC user involved in
systems design and implementation, you need the
professional edge to stay ahead of the pack...
you need PC TECH JOURNAL .
Every month you’ll receive the leading
advanced IBM PC magazine that brings expert
users like yourself sophisticated and innovative
insights, developments and ideas. You’ll discover
in-depth articles and features covering Graphics,
Program Documentation, Distributed Data
Processing, APL, and Systems Interfacing and
Development.
If you’re ready to break away from the pack
and establish the professional edge in your office,
subscribe to PC TECH JOURNAL today, it is the
magazine that’s written for experts in IBM per¬
sonal computing, by experts!
PC TECH JOURNAL
EO. Box 2966, Boulder, Colorado 80322
YES! I want to break away from the pack. Please accept my sub¬
scription to PC TECH JOURNAL for:
□ 12 issues for $23.70. □ 24 issues for $47.40.
Either way, I save 50%!
Savings based on annual newsstand price of $47.40.
Mr./Mrs. /Ms_
Company_
Address__
City-State_Zip_
Check one: D Payment enclosed □ Bill me later
Charge my: □ American Express □ Visa □ MasterCard
Card No-Exp. Date_
Add $6 a year in Canada and all other foreign countries.
Please allow 30 to 60 days for delivery of first issue.
For fast service phone toll-free 1-800-852-5200.
BOOK REVIEWS
Practical CAD
This hands-on tutorial for Autodesk’s AutoCAD is a
must for newcomers and worthwhile for veterans.
Inside AutoCAD
Daniel Raker and Harbert Rice (New
Riders Publishing, Thousand Oaks, CA
1985) 308pages, paper, $27.95
Regular review¬
ers of CAD/CAM/
CAE software
often are asked
where users
might find a
how-to book on
Autodesk’s Auto¬
CAD (or Per¬
sonal CAD Sys¬
tems’ p-CAD or
T & W Systems’ VersaCAD or other such
packages). Dealer demonstrations and
demonstration disks are not able to
provide users with an on-going refer¬
ence for how to do their job with the
specific software they have chosen.
Book publishers and bookstores
like to concentrate on computer books
about programs that sell hundreds of
thousands of copies, not those that sell
only tens of thousands. Books on CAD
are rare, and even if they were not so
rare, they would be lost in the crowd of
books on spreadsheets, word proces¬
sors, and programming languages. (If
they were to judge from the material on
some bookshelves, readers might think
that publishers believe there are more
C programmers than architects, engi¬
neers, and plumbers combined.)
Inside AutoCAD is the book many
students of CAD have been looking for.
Instead of a treatise on the mathematics
of computer graphics, this book is
about a real program, AutoCAD (version
2.0). Written in a tutorial style, it re¬
mains concentrated on its subject
throughout. Readers will find no sec¬
tions on how to operate the computer
or on the history of computers or on
the joy of computing. The authors
wisely assume that anyone who buys
the book already knows how to turn on
the computer and so on, and that the
real interest is in using AutoCAD in
gainful employment—not for the thrill
of drawing circle and lines on a screen.
Both authors are well qualified on
the subject of CAD, particularly in the
practical uses of CAD. Daniel Raker is a
consultant well-known to design profes¬
sionals through his a/e systems report , a
monthly newsletter that addresses the
issues of design automation, and
through his column “CAD Angles” in
Plan and Print magazine. Harbert Rice
owns the company that published the
book and is a veteran in the fields of
pattern recognition and simulation.
Inside AutoCAD is well-organized.
The introduction explains the book’s
layout, discusses its intended use, and
defines several key assumptions; it
includes a summary of each chapter
and an explanation of the intent of
each. Those who generally cannot force
themselves to read introductions should
make an exception in this case.
As most AutoCAD users know, the
AutoCAD manual is not organized as a
tuturial, but as a reference manual, and
even that theory of its organization
commonly escapes the newcomer.
Inside AutoCAD is organized as a teach¬
ing guide, and the sequence of material
is ideal for either self-instruction or the
classroom. The authors know that the
new user will wish immediately to draw
a few circles and lines—play around,
that is—so they begin by leading him
into doing just that. However, only a
few pages are devoted to play, then the
book turns to setting up AutoCAD for
productive work.
The first chapter covers the menu
system and the concepts of layers,
scales, limits, and units, all of which are
key concepts for production work. In
the second chapter, the display controls
(ZOOM, PAN, and VIEW) and drawing
aids (SNAP, ORTHO, GRIDs, object
snap) are examined. Again, these
concepts are essential to effective use of
the program, even though it is possible
to make drawings without fully under¬
standing them.
Only by the third chapter do Raker
and Rice arrive at the point at which
most users are tempted to begin, that is,
drawing lines and circles. In full, this
chapter, called “Graphics Primitives,”
covers lines, arcs, circles, and text.
Chapter 4 covers editing a drawing
and explains the significance of the
editing commands. The authors con¬
cede that a swift draftsman often can
draw lines faster than a CAD operator,
but that the AutoCAD user can revise
drawings much faster than his conven¬
tional counterpart. Readers may not
necessarily agree with this statement,
but the point is that AutoCAD provides
a host of tools not available to the con¬
ventional draftsman: COPY, MIRROR,
FILLET, CHAMFER, ARRAY, MOVE,
CHANGE, REPEAT...ENDREP, BREAK,
and ERASE. The authors insinuate that
the editing commands allow the Auto¬
CAD draftsman to create a number of
drawing objects with a minimum of ori¬
ginal entry, but they concentrate on the
idea that the real advantage of AutoCAD
is in posting changes. Some CAD users
believe that they must learn to think in
new terms when designing with Auto¬
CAD or any CAD system, and the edit¬
ing commands are the key to this new
mode of thought. Regardless, Inside
AutoCAD provides excellent coverage of
the editing commands.
One of AutoCAD’s strongest fea¬
tures, BLOCKS, is given attention in the
fifth chapter. A symbol library is a sine
qua non for a CAD program. This chap¬
ter discusses the process of defining
and inserting blocks and includes an
extensive exercise in the use of blocks
to create a drawing that would be very
time-consuming to develop without the
use of blocks. Attributes are covered in
a later chapter.
Chapter 6 introduces the com¬
mands used to dress up drawings, in¬
cluding primitives not covered in the
JUNE 1986
207
HELP/Control™ - an online help subsystem for the IBM-PC.
Increase product marketability. Reduce product development time.
HELP/Control is more than just context-sensitive help. It lets you build tutorial
sessions, bill-of-material parts catalogs, inventory-driven cross selling... The sky's the
limit.
And, HELP/Control is fast. Screens - up to full display size - appear almost
instantaneously because the runtime system is written in assembler and accesses the
screen memory directly. Smaller screens appear as windows. Once they've helped, the
original display is restored just as quickly.
HELP for the programmer. A few simple subroutine calls add a full-featured online
help subsystem to your application because HELP/Control is a runtime system linked
or loaded with that application. (HELP/Control has been fully tested with IBM COBOL,
IBM BASIC Compiler, Lattice C, Microsoft FORTRAN, Turbo Pascal, IBM BASIC
Interpreter, and assembler. It is distributed with sample programs in each language.)
HELP for the documentation writer. Build screens. Define captions. Associate each
caption with a screen. HELP/Control includes a screen generation language,
HELPGEN, that reads your sources, creates a runtime file, and lets you use your
favorite editor. Our HELP/Control reads that file and displays help screens when the
user activates the help function.
HELP for the end user. Use the cursor control keys to select a caption. Press return.
That's it. Each screen has a number of highlighted captions which indicate other
screens with information on that subject. Lotus 1-2-3 users will feel right at home.
We've even made the entire HELP/Control manual available as a set of screens so
you can browse without ever cracking a book.
HELP for the procrastinator. Your system's complete? You may be able to add our
slimmed down version of HELP/Control to your existing application. It provides all the
user functions of our full system with a keyboard intercept for first rate help support
with minimal effort without looking like an afterthought. (Some site or technical
restrictions may apply.)
HELP/Control comes complete with a detailed manual, both online and printed, with
information for the programmer and documentation writer. It also includes
instructions for the end user which may be incorporated into the application
documentation.
The Standard HELP/Control system implements the online documentation for our
MDS Outline product.
PC-DOS 2.0 or greater required for developing HELP/Control applications.
Applications using HELP/Control will run under PC-DOS 1.0 or greater. The runtime
system requires approximately 9K for code and buffers for full size help screens.
The Complete HELP/Control package (software, both manuals, demo programs)
is $125.00. A demonstration diskette, including the online manual, is available for
$15.00. To order or for more information, complete this form and return it with
your check. (Maine residents, please add 5% sales tax.) Or, call MDS, Inc. at (207)
772-5436. MasterCard and VISA accepted.
Please send me_copies of HELP/Control at $125. each.
Name_
Address_
Phone_
MC/VISA No_
Expiration Date_
Return to:
MDS, INC., P.O. BOX
1237, PORTLAND, MAINE 04104
BOOK REVIEWS
earlier chapters, such as TRACE and
SOLID, and the HATCH and SKETCH
commands. These can relieve the stark
look of CAD drawings and convey es¬
sential information in some fields.
The treatment of plotting in chap¬
ter 7 covers all but the most demanding
situations and includes a checklist for
plotting that would be useful in con¬
junction with any CAD program. A full
25 pages, the chapter begins with an
exercise that the authors began in the
chapter on blocks.
In chapters 8 and 9, Raker and Rice
cover automatic dimensioning and the
use of attributes. Automatic dimension¬
ing is an essential capability for any
CAD program, and the ability to attach
attributes to drawing symbols is the key
to the second D in CADD. Both subjects
are covered thoroughly.
The final chapter covers the subject
of customizing AutoCAD, through the
use of menus and script files. Several
examples are presented that should en¬
able any serious user to write his or
her own custom menus. Not covered
are the use of variables and expressions
or the use of AutoLISP, which is intro¬
duced in AutoCAD version 2.18.
The book is nicely illustrated, and
all of the illustrations obviously were
prepared with the aid of AutoCAD
(indeed, any other approach would
have aroused suspicion). Commands
are shown with examples that include
screen displays, prompts, and menu
flow charts. Thus, whether the user
prefers to use the screen menu or to
type commands in from the keyboard,
the command syntax is supplied. The
book does not include examples of
using digitizer menus, but this is not a
serious omission.
Each chapter opens with a diagram
of the standard menu structure as it
relates to the commands covered in that
section and closes with an advanced
AutoCAD drawing. Taken collectively,
these drawings show the capability of
AutoCAD in a variety of fields.
The book’s tone is appropriate for
a range of AutoCAD users, from the
novice to the advanced draftsman. The
veteran will find some worthwhile nug¬
gets, while the beginner should con¬
sider this book a required companion
to the AutoCAD manual. Raker and Rice
have put together an excellent presenta¬
tion of AutoCAD’s facilities. {PC Tech
Journal reviewed AutoCAD in the Janu¬
ary 1986 issue, “Drafting by Design,”
Victor E. Wright, p. 50.)
—VICTOR E. WRIGHT
208
CIRCLE NO. 146 ON READER SERVICE CARD
PC TECH JOURNAL
TECH MART
MYSTIC PASCAL
More Users For Less Money!
Di^itrols software solution
to multi user.
QQ|4 5V 4 " ds/dd
03u SOFT SECTOR
r BULK QUANTITY 100
Each diskette 100% certified at
manufacturer.
LIFETIME WARRANTY
• 640K code, data and stack
• incremental compiler runs in back¬
ground while you are editing
• effective compiler speed greater
than 100,000 lines/min
• immediate execution of Pascal
statements
• true multi-tasking for up to 100
Pascal procedures
• full screen editor
• complete Help windows
disk with condensed manual to print out $16—
printed manual $16—both $32—for IBM PC 256K
Visa/MC/COD—add $2 shipping, COD $5,
overseas $10
pcSHARE
MULTI-USER O/S
pcSHARE allows your IBM-XT/AT or compatible to
support up to 5 users running 1 -2-3, dBASE, WordStar,
and more on inexpensive serial CRTs. For software
developers, pcSHARE efficiently runs compiled Basic,
Pascal & C programs with full DOS 3.0 compatible
record locking.
DIGITROL COMPUTERS INC.
440 Phillip Street
Waterloo, Ontario, CAN. N2L 5R9
(519) 884-4541
IBM-XT. Lotus 1-2-3. dBASE. and WordStar are trademarks of IBM Corp. Lotus
Development Corp . Aston-Tate. and MicroPro International, respectively
NEW EPROM PROGRAMMER
rm -1 eprom i
Communications Board
THE FILE STORAGE METHOD
USED BY PCTECHLINE.
The ARC file archive utility can
save up to 50% on disk storage,
and modern transfer time.
• Not copy protected
• Program Sources Included
Only $50
‘Programs all 28-Pin, 5-Volt EPROMs and
EEPROMs.
‘Perfect for engineering workstations, field ser¬
vice and small production runs.
‘Simple keyboard and display for stand alone
duplication.
* Interface to your computer via an RS232C port.
‘PC control software included at no extra
charge.
TO ORDER PHONE:
800-325-6028 Outside California
916-885-7262 Inside California
VISA AND MASTERCARD ACCEPTED
• For IBM-PC/AT/XT and |
compatibles
• Dual RS-422 serial interface
• Programmable to 56k baud
• Differential drivers to 4000 ft.
$345.00
Vj/QUA TECH, INC.
478 E. Exchange St. Akron OH 44304
(216) 434-3154 TLX: 5101012726
“A sophisticated and imminently
useful product.”
—PC Week
SYSTEM ENHANCEMENT ASSOCIATES
21 New Street, Wayne, NJ 07470
( 201 ) 473-5153
international
=#= MICROSYSTEMS
VpiP incorporated
11554 C Avenue, Auburn, CA 95603
Get the whole
story on graphic
terminal emulati
OURNA
TECH MART
TECH BOOK
THE CLASSIFIED ADVERTISER’S
FORMULA FOR SUCCESS IN
SELLING TO TECHNICAL
EXPERTS IN THE IBM
MARKETPLACE.
FOR RATES & INFO
CALL: (212) 503-5115
HDTEST formats and tests hard drives in PC, XT,
AT, and true compatibles. Written for production
quality control; you know it’s fast and thorough.
Menu-driven operation and context sensitive help
windows make life easy when installing or refor¬
matting hard drives. Flag known bad tracks and
do a comprehensive surface scan to find unlisted
defects. You can modify controller and test setup,
load/save setup and defect files. Works with WD,
Xebec, OMTI, DTC, and Adaptec controllers. Free
PARK included! Call for more information. $99.00
GALLERY 6 DISTRIBUTED BY PROTO PC, INC.
2439 FRANKLIN AVENUES! PAUL.MN 55114
612-644-4660 TLX910-380-7623
To find out more about software
that lets your PC emulate
TEKTRONIX™ 4105/6/7/9 and
DEC VT100™ terminals,
call or write:
<| GRAFPOinT
4340 Stevens Creeks Blvd., Suite 280,
San Jose, CA 95129 (408) 249-7951
DISKETTES
WHY PAY MORE??
NOW ONLY $1BH!
ACT NOW!!
These are not seconds.
Money back guarantee!
No questions asked.
Offer Expires 6/30/86
TO ORDER CALL:
1-800-634-3478
In Ohio: (614) 481-4417
MEI
1555 West Lane Ave.
Columbus, OH 43221
Mystic Canyon SoFtware
PO.B. 1010
Pecos, NM 87552 505/757-6344
CIRCLE 388 ON READER SERVICE CARD
CIRCLE 384 ON READER SERVICE CARD
CIRCLE 386 ON READER SERVICE CARD
CIRCLE 394 ON READER SERVICE CARD
CIRCLE 392 ON READER SERVICE CARD
CIRCLE 387 ON READER SERVICE CARD
64K-128K-256K
DRAMS
80287-8 " 80287-3
8087-3 " 8087-2
8087-1
ASSEMBLY PROGRAMMING LIBRARY
• NO ROYALTIES REQUIRED
• Graphics - Color. Here Monochrome. EGA
• Floating Point Trigonometry and Arithmetics
• 8087 Supported but not required
• ASCII to Numeric conversions
• Formatted Output (PRINT USING)
• Console I/O with Windowing
• DOS Shells
• Sound Generation
• Plus much, much more
Step-by-Step With
Introducing C is a powerful C language training system that
combines a thorough, self-paced manual with a unique C IN¬
TERPRETER to provide a fast efficient method of learning C.
A COMPREHENSIVE APPROACH
Introducing C covers all the essential elements of C. The
Interpreter utilizes standard K&R syntax and operators - full
structures and unions, arrays, pointer and data types. It pro¬
vides the standard I/O library and an extended graphics library.
The package has many user oriented features including a
screen text editor and extensive error diagnostics (includes
dynamic trace capabilities).
INTRODUCE YOURSELF. TODAY
Introducing C is available for immediate delivery. System re¬
quirements are IBM PC, XT or AT with one disk drive and 192K
bytes of memory. Priced $125.00. Not copy protected.
TO ORDER CALL 800-922-0169
ASMLIB has over 170 functions for the IBM
PC/XT AT or compatible under DOS 200 or
newer Supplied in MS Assembly language
source code on 3 DOS Diskettes with 215+
page reference manual
€l€CTRONICS
899 SOUTH COAST HIGHWAY
LAGUNA BEACH, CA 92651
( 714 ) 497-6200
CALL NOW FOR FREE CATALOG
All for only $149 00 ppd
BC ASSOCIATES
13073 Springdale Street. Suite 134
Westminster. California 92683
(714) 741-3015
Sort RM/COBOL Files
• • • QISORTC
Finally, a sort utility for RM/COBOL.
Using efficient algorithms in assembly language making it
the fastest sort on the MS-DOS market. Qisortc supports:
• RM/COBOL Version 1.5x & 2.xx files
- Single / Dual File Indexed
- Relative and Sequential
• ASCII, COMP-1, & COMP-3 fields
• 32 sort control fields
- ascending / descending
• 32 record selection fields
- EQ:NE:GT:GE:LT:LE fieldconstant
- implied AND, OR may be specified
• 32 output fields or total record
• CALL from RM/COBOL, when provided
subroutine is linked with runtime
• Use pathnames and return codes
• Keyboard or Parameter file
• Requires MS-DOS ver 2.xx or above-
• Only $95.00 - COD, VISA, or M/C.
Quantumn Information Systems, Inc.
145 N.W. 85th St., Suite 103
Seattle, Washington 98117
(206) 789-2888 Telex 4941041
FORTRAN
PAdPAT
PROGRAMMER?
IBM PC, XT and AT programmers:
Don't give away results of your effort!
Don't waste your money buying
costly fingerprinted diskettes!
READ
THIS
AD
You can have your programs
automatically protected against
piracy!
Mo special training needed!
Mo confusing instructions!
Mo discouraging procedures!
Mo Sales Tax on orders outside M.Y. State
I y i l i I YETIWARECORP
1 Wf / | | P.O.BOX 21152
MID T0WN STATION
NEW YORK N.Y. 10129
DEALER INQUIRIES INVITED
REPRINTS AVAILABLE
GRAPHICS
• Text/graphics generics
• 2D interactive
• 2D plots (full support) including
auto-scaling, auto-axis genera¬
tion, auto-labeling, tabular/log/
parametric curves, splines, bars,
pies, you name it, we have it.
• 3D Plots incl. 2 hidden line remov¬
al options—not just old-fashioned
wire frame.
PEN PLOTS
• Standard plotter primitives plus
• FULL 2D support plus
• Interface to screen graphics,
• Limited 3D.
Clear and complete documentation.
GRAFMATIC $135.
PLOTMATIC 135.
MICROCOMPATIBLES
301 Prelude Drive
Silver Spring, MD 20901
(301) 593-0683
Quantity reprints ot articles appearing
in PC Tech Journal are available and
will be prepared to meet any special
requirements. Inquiries should be
directed to Eileen Pfeiffer, Reprints
Dept., Ziff-Davis Publishing Co., 1 Park
Ave., New York, New York 10016,
Phone 212-503-5447.
Why risk duplicating your important
programs on your computer, when our
equipment is designed solely to dupli¬
cate disks and verify their perfection
100%?
Over 600 formats. 3V 2 ", 5'A" and 8".
Plus serialization, copy protection, la¬
beling, packaging, shrink-wrapping
and fast, personalized service.
PURNA
Western
Transdata Inc
DISK. DUPLICATION
1701 E. Edinger Ave.
Building A4
Santa Ana, California 92705
(714) 547-3383 (Collect)
ASMLIB
Interactively
[ S COMPUTER
i INNOVATIONS, INC.
980 Shrewsbury Ave.. Tinton Falls. NJ 07724 • (201) 542-5920
CIRCLE 378 ON READER SERVICE CARD
CIRCLE 376 ON READER SERVICE CARD
CIRCLE 377 ON READER SERVICE CARD
CIRCLE 380 ON READER SERVICE CARD
CIRCLE 381 ON READER SERVICE CARD
PERFECT COPIES
GUARANTEED
c mmtmm
CIRCLE 383 ON READER SERVICE CARD
CIRCLE 382 ON READER SERVICE CARD
TECH BOOK
Accessories/Supplies
•• SOFTWARE PUBLISHING ••
GDS offers a wide variety of services that will help
get your software to the market. Address your
needs with GDS.
• IBM style cloth/vinyl 3-ring binders/slips
• Labels, sleeves, disk pages...
• Disk duplication with 100% verification
• Bulk diskettes
• Shrink wrapping and assembly
• Quick turnaround
A well-packaged product can make the differ¬
ence in making a sale. Call us NOW. VISA/MC
Glenco Development Systems
3920 North Ridge Avenue
Arlington Heights, IL 60004
(312)392-2492
Business
Opportunities
INCORPORATE!
‘Save Taxes!
* Protect Your assets!
*Free Booklet!
‘Free Forms!
‘Save $— Do It Yourself!
‘No Legal Fees!
WRITE OR CALL TOLL-FREE TODAY!
HARVARD BUSINESS SERVICES, INC.
3151 Summerset Rd.
Wilmington, DE19810
800-345-CORP
Personal Computer Owners
CAN EARN $1,000 TO $5,000
monthly selling simple services performed by
their computer. Work at home-in spare time. Get
free list of 100 best services to offer. Write:
C.I.L.B.Q.
PO Box 60369
San Diego, CA 92106-8369
Hardware/ Add-on
Boards
SPEECH SYNTHESIS
SynPhonix: TRUE Unlimited Speech Synthesiz¬
er for IBM-PC/XT/AT/jr & compatibles. This low
power short card includes an SSi263 speech
chip, amplifier and speaker. Software includes
Text-to-Speech, Phonetic Editor, Talking Clock
& demos. Can be programmed with BASIC and
other languages. Prices start below $200.
SvnPhonix
Electronic Speech Articulator
Artie Technologies
2234 Star Court
Auburn Heights, Michigan 48057
(313)852-8344
RS-232/RS-422 Communications
Versatile communications and 1/0 boards.
—Four port RS-232 with DOS drivers.$349
—RS-422/485-serial interface.$149
—RS-232/422 with 24 parallel I/O.$199
—RS-422 synchronous with DMA.$299
—Delivery from stock
—Custom designs available
Adams Incorporated
PO. Box 17525
Greenville, SC 29606
(803)297-9630
FIXED DISK BIOS/BOOT
FiXT boots from most popular Hard Disks—DA-
VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds
XT-like BIOS interface to your disk for PC. Se¬
curity, multiple volumes, removable media sup¬
port optional. No-slot plug-in installation. Specify
controller and computer with order. $80-$95. Add
$3 shpg., CA tax.
NEW!!! FOR THE OLD 64KPC
PC MultiPak MAX 576K Multifunction Card. Ex¬
pand your old 64K IBM to 640K. Includes 576K
memory, parallel port, serial port, clock, ram-
disk & ramspool software, 2 year warranty. $449
with 576K installed. Trade in discounts avail¬
able for your current memory card Mfg. in USA.
For more information call or write
Indigo Data Systems, Inc.
PO. Box 57888
Webster, TX 77598
(713)488-8186
ACQUIRE DATA WITH YOUR PC
*16 to 64 differential A-D, up to 8 D-A
*24 to 48 digital I/O, 24 event counters
*Processor and 8 to 40K RAM on board
*Floating-pt processing, Battery backup
*Linerization, 4 selectable gain ranges
*Menu-driven software. Programmable.
‘Systems start at $895,1 year guarantee
WESTERN TELECOMPUTING
202 E. Kagy Bozeman, MT 59715
(406) 586-1511, or touch-tone, toll-free
1-800-423-0587, then 328 222.
Hardware/Disk
Drives
8 INCH DISKETTE SYSTEM
Read, write and format diskettes from IBM
mainframes, minicomputers, data entry equip¬
ment, etc. Complete easy to use software han¬
dles EBCDIC conversion. Can read and write CP/
M 8-inch diskettes (many formats). You also can
use 8-inch drives for PCDOS files; 1200 KB per
diskette! $1150 complete.
MicroTech Exports
223 Forest Avenue
Palo Alto, CA 94301
(415)324-9114
Hardware/
Peripherals
SCSI-PC HOST ADAPTER
Plug & play installation for SCSI Optical/Hard
disk and tape peripherals. Wide selection of SCSI
peripherals selectable by manufacturer and
model No. via menu window. Absolutely NO driver
software need be written by the user. Price is
$149. for board, SCSI bios prom and floppy
based configuration data.
Advanced Storage Concepts, Inc.
9660 Hillcroft #325
Houston, TX 77096
1-800-423-9175(713)729-6388
640K YOUR MOTHERBOARD!!
Put 640K of RAM on Your Motherboard! NO
SLOT! NO ADD-ON BOARDS!—NO SOLDER¬
ING! Complete w/ALL Hardware, Memory Chips
and Instructions. Easy PLUG-IN Installation. Avail
for: IBM XT, IBM Portable, COMPAQ & COMPAQ
PLUS Portables. Only $144.95 + $5 S/H, Spec¬
ify computer when ordering. Dir. inquiries in¬
vited. CK/MO/VISA/MC
J S & J Software
1281 S. King St. Suite 6A
Honolulu, Hawaii 96814
24/hr Orders: (800) 821 -5226 ext. 435
GOLDEN BOW SYSTEMS
2870 Fifth Avenue
Suite 201
San Diego, CA 92103
(619)298-9349
RATES AND INFORMATION
Standard listings consist of a bold lead line (25 characters maximum); 7
lines of body copy (45 characters per line); 4 lines for company name,
address and telephone number. $140 per insertion—3 issue minimum.
Additional charge for extra lines and company logos. Prepayment and
frequency discounts available. American Express, MasterCard, Visa
accepted. Copy subject to publishers approval. Send typewritten or printed
copy, reproducible logo art (if applicable) and remittance to Kathryn
Cumberlander, Classified Sales Manager, Ziff-Davis Publishing Company,
One Park Avenue, New York, NY 10016. For additional information,
assistance, or to place an order by phone, call collect (212) 503-5115.
TURBO START YOUR PC!!!
FOR IBM PC’s ONLY!! The PC-INMATE, a Firm¬
ware ROM Module for the IBM-PC!!! Features:
BOOT within 10 SECONDS!!! BREAK the 640K
BARRIER!! Access up to 704K of RAM!!! (Lotus,
DOS, etc.) SCREEN RELIEF-protects your mon¬
itor, and MORE!! Easily PLUGS IN-NO SLOT! Only
$49.95+$3 S/H. Dir. inquiries accepted CK/MO/
VISA/MC.
JS&J Software
1281 S. King St. Suite 6A
Honolulu, HI 96814
24 hr Orders Only: (800) 821-5226 ext. 435
IBM PC/XT/AT.SPEEDUP
*OVERTRUSTER: Boots the performance of PC
and XT by 280%! 100% software compatible, is
switchable between 4.77 and 7.38Mhz. $195.
*SPEEDSWITCHER: This is an economical 6
speed switch (4-11 Mhz) for AT’s. $89
*XCELEX: Automatic 5 speed switch (6-12Mhz)
This unit will switch on the fly and works with
ALL IBM AT’s including the new Models with
speed limiting Rom Bios. $149.
DATA MANAGEMENT SYSTEMS, INC.
1525 Hickory St.
Salina, KS 67401
ORDER HOTLINE (913) 823-6440
CP/M & 1.2Mb AT ON PC
With MULTI-DISK and UniForm-PC use 3.5,5.25,
and 8-inch single and double density CP/M for¬
mat as DOS diskettes on your IBM PC or XT.
Many MS-DOS formats also supported includ¬
ing IBM AT 1.2 Mb, HP-150 and Data General 1.
Over 200 formats. Both MULTI-DISK and Uni-
form-PC for $225. Disk drives & adapter cable
also available.
P S Engineering
PO. Box 51068
San Jose, CA 95151-5068
1-800-369-2398; 1-800-423-7171 in CA.
BAR CODE READERS
• IBM PC/XT, AT, AT&T 6300 & 6300 PLUS key¬
board models or RS-232 interface
• NO programming. Reads dot matrix
• Auto-recognition and single code decoding
• Reads Code 39, UPC A/E, Codabar & 12 of 5
• $635 list, units in stock, 2 year warranty
• Bar code printing software, call for info.
PERCON, Inc.
2190 W. 11th
Eugene, OR 97402
(503)344-1189
PC SPEEDUP
Up to 45% speed improvement for IBM PC and
clones, 100% compatible, easy installation. Kit
includes NEC V20 or V30 Chip, Tool, User Guide,
Warranty, free Multiuser BBS Access. V20-5 mhz
for PC, V20-8 and V30 in stock. V30 replaces
8086. Call for PC-Sprint and VP/M.
From $4 to $89. Tech info 414-242-2165
Exec-PC, Inc.
PO Box 11191 Shorewood, Wl 53211 Order on
BBS: Orders: 414-242-2173 414-964-5160
JUNE 1986
211
TECH BOOK
Hardware/Security
C Compilers for MC 680X0
Now on IBM PC
STILL WAITING? INSECURE?
QUICKON—Instant Turn-on module—$69.95.
LOCKIT I—Password Boot-Up module—
$129.95. User selectable PW & Boot-only-from-
HD mode. PC RESET—Reboot w/o cycling
power—$21.95. Easy to install, No slot, specify
PC/XT/AT LOCKIT II—PW protection for sub¬
directories, for DOS 2.0 & up.—$79.95. MC/VISA
Security Microsystems Consultants
16 Flagg Place Suite 102 TJ
Staten Island, NY 10304
(718)667-1019
Use your IBM PC XT to create fast compact code
optimized for the Motorola 68000, 68010, and
68020/68881. Complete C development envi¬
ronment including assembler, pre-processor,
linking and downline loaders, libraries and util¬
ities. Priced under $1000 on IBM PC. Also avail¬
able for Motorola/VERSAdos, VAX/UNIX, and
VAX/VMS.
Software/Business
TheAndsor Collection
Unique concepts: creates complete, self-
contained, window-based data management
environment in one DOS file. Simplifies every¬
thing. Combine functions to create your own so¬
lutions in any application: calculations, database
management, modeling, text processing, charts,
data analysis, statistics, reports, labels, forms,
presentations, mail-merge, etc. Simple enough
for a PCjr, sophisticated enough for a PC AT. Su¬
perb, 400 page hard-cover manual, with many
examples. From simple calculations, files, in¬
quiries, to complex models, data structures, re¬
ports: when your favorite data manager/
spreadsheet/word processor/integrated sys¬
tem cannot provide the solution you need, re¬
member The Andsor Collection. 60 day money-
back guarantee. US$95 + $5 s&h. Visa/MC/
AmEx/Chk/MO/COD. Call or write now to order.
IBM/PC/XT/AT/PCjr, 128K, one drive or hard
disk, monochrome and/or color monitor, DOS
2.0+. Not copy-protected.
ZTTie ^ (m/sior
Go/Zeet/ofi
- (-
Andsor Research Inc.
181 University Avenue, Suite 1202
Toronto, Ontario, Canada M5H 3M7
(416)364-8423
Software/Compiler
DeSmet-C-$109
Full K&R C compiler, linker, librarian, fullscreen
editor, profiler, overlays, example software, 140
page manual. BOTH 8087 and floating point li¬
braries. OUTSTANDING PRICE/PERFOR¬
MANCE. Consistently rated 1st or 2nd in
published benchmarks. PC/MSDOS. No royal¬
ties on generated code. Newsletter. Updates $20
ea. $109 shipping included. Symbolic (C source
level). Debugger Option $50 extra. C Compiler
for the Macintosh $150.
C WARE CORPORATION
Dept. PCTJ
P.O. Box C
Sunnyvale, CA 94087
(408)720-9696
Alcyon Corporation
5010Shoreham Place
San Diego, CA 92122
(619)587-1155
Software/
Communications
COMM. PROTOCOL ANALYZER
Why pay thousands for a protocol analyzer or
$250 for a RS232 breakout box? Field proven
APA120 software converts a PC. Full function
breakout box with LED’s switches and jumpers
plus line adapter for analyzer. Trigger strings,
control line monitoring and more. For serial,
async, 9600 baud or less. $495.
BURR-BROWN®
Burr-Brown Corporation
P.O. Box 11400
Tucson, AZ 85734
(602)299-2662
PC SERIAL DATA ANALYZER
Use your IBM PC or compatible to analyze data
streams between two serial devices (up to 9600
BAUD). Two windows display each devices trans
mition in ASCII or HEX. PC can also act as a ter¬
minal for either device. Invaluable tool for de¬
bugging serial interfaces. Disk & manual $150.
Triple C Software
2897 SW 13th St.
Fort Lauderdale, FL 33312
(305)583-0687
Programmable Emulator
Automate your communications. “Hooks” to
operate communications functions automati¬
cally thru your own programs written in “C” Basic,
Pascal. Supports PC to PC to mainframe link up.
Memory resident mode, simultaneous COM1 and
COM2, X-modem, full featured, VT100 and 13
other terminals. Bluestreak plus $89.95.
Lang-Allan, Inc.
2457 Aloma Ave. Suite B
Winter Park, FL 32792
(800) 541-2255 Tone 677-1539
Software/
Development Tools
COLOR, CURSOR CONTROL
DATE/TIME, KEYBOARD, PEEK, POKE, COM-
MAND LINE ACCESS, and more available for
IBM/MS FORTRAN, IBM/MS PASCAL, and GE¬
NERIC (MS) BASIC on PC/DOS and many MS/
DOS machines. No redistribution fees. $47 U.S.
MN residents add 6% sales tax. BARTSUBS by
BARTSOFT
3210 Lake Shore Boulevard
Wayzata, MN 55391
(612)473-4032
ROMableCODEon PC!
PCLOCATE allows PC users to develop ROM-
based software from MS-DOS “Exe” files. The
user specifies the physical location of all seg¬
ments. Output files are compatible with most
PROM programmers. PCLOCATE supports the
8086,8088,80186,80188, and 80286 proces¬
sors. MC/VISA.
ALDIA SYSTEMS INCORPORATED
P.O. Box 37634
Phoenix, AZ 85069
(602)866-1786
REALIA COBOL SITES
REALFORM is the Screen Handler you have been
looking for. It features interactive screen design,
an on-line forms editor, relief of cursor control,
expedites screen generation, supports numer¬
ous data field types, is easy to use and offers
powerful data entry functionality. $395. US.
CHARANDON COMPUTER SYSTEMS INC.
1600 Laperriere Avenue
Ottawa, Ontario, Canada K1Z 8P5
(613)729-3003
FIRMWARE PRODUCTION ON PC
LINK&LOCATE enables PC users to produce
ROM-based firmware for 8086/87/186 from ob¬
ject files generated by C, PL/M compilers &
MASM. Provides full control of segments place¬
ment anywhere in memory. Supports output of
INTEL hex file for PROM programmer, absolute
object file for symbolic debugger & ICE, and MS-
DOS EXE fifle. Includes an INTEL compatible
linker, locator, librarian and hex formatters. $350.
Systems & Software, Inc.
3303 Harbor Blvd., C11
Costa Mesa, CA 92626
(714)241-8650
REPORT WRITER
All-language qPLEX-IV lets you select or sort your
own special forms, reports, labels, bar graphs
or queries. Exports your reports to spreadsheets
and wordprocessors. Reads Basic, Assembler,
Pascal, C, Fortran, Cobol, ASCII, Data Base
Managers and more. Dealer demos available.
MS-DOS, XENIX, UNIX
Snow Software Corporation
3330 Fisher Road
Clearwater, FL 33519
(813)784-8899
C-INDEX
C-INDEX is a state-of-the-art data management
library for C. Designed for serious product de¬
velopment. No Royalties. B+Tree, variable length
records, multiple keys, and transportable source
code. Call for our free info packet.
C-INDEX/PRO $195 Partial Source
C-INDEX/PLUS $395 Full Source
TRIO SYSTEMS
2210 Wilshire Blvd. Suite 289
Santa Monica, CA 90403
213-394-0796
FLOWCHARTS BY PROFLO
The fast, friendly, flowchart drawing program for
the software professional. PROFLO speeds soft¬
ware development and reduces documentation
costs. Lets you create, edit, and print clear, pre¬
cise flowcharts, quickly and easily. Requires IBM
PC (or clone) with DOS, 128K, graphics monitor
& graphics printer. Program & Documentation
$49.95. Demo Disk $10.00.
Star Systems
28 Topstone Drive
Bethel, CT 06801
(203)744-0546
SOURCE CODE LIBRARY SYSTEM
TUB™ stores ALL versions of your source in ONE
compact library file,-even with hundreds of re¬
visions. Updates ("deltas”) faster than many
editors load & save files, 5-7 times faster than
Unix SCCS. Date & comments for each version,
easy retrieval. LAN-shared libraries with PC
Network. DOS 2.x/3.x $99.95 $3 s/h VISA/MC.
Burton Systems Software
P.O. Box 4156
Cary, NC 27511-4156
(919)469-3068
GENSCREENFOR MS-COBOL
Cobol Source Code Generator for generating the
screen section and data division cobol source
code for Microsoft and IBM PC cobol. Screen
Image Text files are run through GENSCREEN to
produce all of the source code for your screen in
less than a minute. Super fast programmer pro¬
ductivity tool $69.99.
Personal Computer Development Corporation
P.O. Box 8556
Warwick, R.l. 02888-8556
(401)333-8704
FASTSCREEN FOR TURBO
PASCAL
FASTSCREEN adds fast screen output capabil¬
ity to your Turbo Pascal programs. Display a full
screen or window almost instantly. Read a full
screen or window containing multiple input fields
with a single procedure call. FAST¬
SCREEN makes it easy to give your programs im¬
pressive speed and a clean, professional look.
Inline assembler and Pascal routines, all source
included. IBM PC/XT/AT and DOS. Color and
monochrome. $29.95 from Technisoft
Technisoft
1710 Allied Street Suite 37
Charlottesville, VA 22901
804-979-6464
212
PC TECH JOURNAL
TECH BOOK
ScreenWorks™ $50
Awesome screen management! Full screen panel
editor & designer. Design your most complex
screen in 10 min. Supports C & Turbo Pascal.
Screen handler written assembler as BIOS ext’n;
50+ library routines give full control of screen,
fields, colors & keybd. Developer license avail.
256K, all monitors, no snow. 30 day $back
guarantee, $50 chk/VISA/MC.
Keep It Simple Software, Inc.
211 East 43rd Street
New York, NY 10017
(800)848-8909
TURBO PASCAL GENERATOR
GTP APPLICATION DEVELOPMENT SYSTEM,
version 2. Builds complete, working application
systems. You give it spec’s, it writes error-free
code.
Indexed Data Bases Multiple Screens
Context Sensitive Memory-mapped
Help Video
Global/Phonetic Full Keyboard Supt
Search
Easy to Use Price $150.00 Visa/MC, ck, MO
AEF
P.O. Box 928
Katy, TX 77492
(713)391-8570
SCREENWARE UTILITIES
FAST ELEGANT SCREEN CREATIONS FOR PC
ASSEMBLY ROUTINES. Make new or edit exist¬
ing screens, even those CAPTURED in OTHER
pgms BY OUR PGM! Supports ALL color/char/
att & monitors. Pop-up menus, help & file man¬
agement. Creates binary & assembler-ready
ASCII source files. Easy to link to main pgm &
invokes w/little code. KBD template, charts, 50pg
Man, PC/AT-128K, ONLY $27!
Crosswinds Software
8621 Windjammer Drive, Suite M-56
Raleigh, NC 27609
(919)847-1812
FORTRAN LIBRARY
A library of over 70 assembly language subrou¬
tines complementing MS Fortran compiler. Full
range of powerful features, increasing the scope
of programming possibilities. Control screen,
keyboard, communications; add new language
commands. Library includes subroutines for to¬
tal control of HP LaserJet printer. Institutional
purchase orders $99.95, personal checks $49.95
s/h $5.
Psychometric Associates
3434 West Tulsa Street
Chandler, Arizona 85226
SOURCE DEBUGGER FOR
LATTICE C
The MSD DeBugger™ is the last, and perhaps
final, word in programming assistance for Lat¬
tice C users. C Debugger produces a high-level
view of C programs via function names line
numbers, variable names and C data types, plus
a low-level view of machine addresses and in¬
structions for testing assembler language func¬
tions. More features include:
• All documentation is prepared for
programmers.
• Online help screen throughout the process.
• Capability to single step through your program.
• Set break points, examine registers and
variables.
$165.00+ $3.50 shipping VISA/MC
(^debugger
a high level language debugger
MSD
2141/2 West Main St.
St. Charles, IL 60174
(312)377-5151
THE-SCREEN GENERATOR
Powerful Screen Designer and Memory Resi¬
dent Screen Manager eliminates tedious screen
management tasks from your program. Easy
access to Screen Manager from your applica¬
tion. Uses disk screen libraries. No Royalties, Not
Copy Protected. Uses with FORTRAN, C. BASIC,
Turbo-PASCAL, BetterBASIC or Asm (Call if not
listed). $125
The West Chester Group
P.O. Box 1304
West Chester, PA 19380
(215)644-4206
ADVANCED MODULA-2 TOOLS
REPERTOIRE: $64. includes 360K of Logitech or
ITC Modula-2 source code: screen compiler and
fast display system with input checking, help,
windows, menus, colors; auto-adapts to hard¬
ware. Integrated multiwindow editor; natural-
language analyzer. DOS & BIOS tools. FREE
documentation & demo disk. MC/VISA
PMI
4536 SE 50th
Portland, OR 97206(503)293-7706
MCI Mail: PMI; CompuServe: 74706,262
WORK HORSE BY USERSOFT
The BASIC code generator that provides:
1) screen painting 2) help screens
3) structured programs 4) maintainable code
5) cuts programming time 6) INKEY$ routine
7) merging 8) printing 9) cross-references
10) runs interpretively or can be compiled.
All this and more for just $59.00.
USERSOFT, Inc.
P.O. Box 517
Manteo, NC 27954
(919)473-1970
BASIC PROGRAMMERS
ADD MORE HORSEPOWER TO YOUR PRO¬
GRAMS!! Use THE BASIC ENGINE™ to build
YOUR programs in FAST compiled BASIC. Add
your modules to a working core of assembly
routines, menus, data screens, pop-up help, sort,
more; over 60 subroutines. Complete source for
two working programs, full instructions, $79.95.
Requires DOS 2+, MS-QuickBASIC compiler.
Praxis Software Engineering Associates
370 Andrews St.
Green River, WY 82935-4846
(307)875-9626
THE PL/M CONNECTION
• Develop PC software with your PL/M compiler.
• Complete Interface to PC-DOS and PC-BIOS
• Fast Graphics Routines example programs
• All source files are included
• 200 page Technical Reference Manual
• $295.00 No Royalties.
CompuFirm Corporation
7841 Balboa Ave #108
San Diego, CA 92111
(619)571-0228
Software/Edit
Lil’Jake
“The WORLD’S GREATEST Editor.” That’s what
our users say about Lil’Jake.
‘Edit multiple files
‘DOS commands
Comprehensive (terse/verbose) online help
‘Programming support BASIC, DOS & BIOS
‘MACRO facility
We’re so sure you’ll like it, we want to send you
a copy for a free 60-day evaluation. $49.95 +
s/h To order: Write or CALL NOW!
Fooks Matthewson Company
P.O. Box 2424 (Oper-28)
Arlington, VA 22202
(703)684-8284
Software/
Engineering
PRODUCTIVITY TOOLS
SRMS™ Software Revision Management Sys¬
tem stores all versions of source code in a single
library. Allows retrieval of any version of source
and application of changes while recording when,
why, and where changes were made with no du¬
plication of common code. DOS pathname, di¬
rectory, and environment variable support,
typeset manual, much more.
New version (2.0).$125.00.
QMAKE™ is an intelligent system builder pat¬
terned after the UNIX make utility only compiles
those routines that have changed since last build.
Support for macros, multiple entry points, com¬
mand line parameters. Integrates fully with
SRMS™.$99.00.
MS/PC-DOS 2.0 (MN plus 6%) MC/VISA
QUILT™ COMPUTING
7048 Stratford Rd.
Woodbury, Minnesota 55125
(612)739-4560
Better BASIC Programmers
BetterTOOLS 2.00 SPEEDS BetterBASIC 1.1/2.0
development. Includes: 190+ useful tools in 17
modules, manual, and source code. No royal¬
ties. Quicksort, screen builder, extended math,
disk directories, display and printer routines,
powerful input, data encryption, on-line error
descriptions, much more. Only $89. VISA, MC,
COD.
SOFTWARE ASSOCIATES
6220 W. Airport Blvd.
Houston, TX 77035
(713)726-0706
smARTWORK®
Printed-circuit artwork editor for double-sided
boards up to 10" by 16", runs on an IBM-PC. Color
display allows complete interactive control over
the placement and routing process. 2X artwork
can be made on a dot-matrix printer or pen-and-
ink plotter, $895. Write or call for a brochure.
WINTKK
WINTEK Corporation
1801 South Street
Lafayette, IN 47904-2993
(317)742-8428
METAL FABRICATORS
PC/Cutlist takes input from your bill of mate¬
rial—Detail drawing and calculates the best
cutting combination for any length stock and
prints a shop ready cutting list and scrap report.
Also an optimization feature finds best mult length
for mill orders. Price $300. Demo Disk $25.00
THE JOSEPH ALBERT CO.
P.O. Box 611
Blue Island, Illinois 60406
(312)349-9032
PC/8087 ARRAY PROCESSING
The VECTOR87 library is written in assembler,
includes 60 subroutines to speed scientific pro¬
grams by 2 to 18x. FFT, vector operations, con¬
volution, etc. 1K real FFT takes 1.2 second. Also
Fortran 2D FFT, linear equation solvers. Ver¬
sions for Lattice C, MS C, IBM Pro Fortran, MS
Fortran. $120 each w/source. Check/PO/VISA.
VECTORPLEX Data Systems Ltd.
P.O. Box 138 Station M
Calgary, Alberta, Canada T2P 2H6
(403)248-1250
JUNE 1986
213
TECH BOOK
CREATE PCB’s EASILY
Easily create double-sided printed circuit board
artwork of up to 21" square using PC-Layout on
an IBM-PC. the artwork is created using a color
artwork editor, the final artwork, solder mask and
silk-screen (text) is produced using either a printer
or a plotter. Price $745. Demo disk/manual $45.
Demo disk credited to final purchase.
Draco Technology
7210 Jordan Ave., Suite D50
Canoga Park, CA 91303
(800) 235-6646 ext. 646 (outside CA)
(800) 235-6647 ext. 646 (CA only)
Software/Financial
IRRworks™ $25
Are YOU using a spreadsheet for IRR’s? Full
screen menu and pop-up windows make IRR &
PV simple. Fast computation, up to 360 uneven
periods. Easy input: steps, % growth, replica¬
tion. FRACTIONAL PERIODS! Automatic rate
conversion. Name & save cases: simple case
management. 256K, color/mono, 30 day $ back
guarantee, $25 chk/VISA/MC.
Keep It Simple Software, Inc
211 East 43rd Street
New York, NY 10017
(800)848-8909
Homeworks $25
Home-buyers, realtors, lawyers, bankers: Com¬
pute mortgage payments & totals, any payment
period. DETERMINE $$$ YOU CAN BORROW.
Print detailed amortization schedules & yearly
totals. Name & save cases: simple case mgt. Full
screen, windows, help, fast, 196K, color/mono,
30 day $back guar’tee, $25 chk/MC/VISA.
Keep It Simple Software, Inc.
211 East 43rd Street
New York, N.Y. 10017
(800)848-8909
FINANCIAL CALCULATOR
Memory resident software for PC/XT/AT or
compatible computers. Non-resident version also
available. Loan amortization, internal rate of re¬
turn, IRA, real estate, savings, depreciation, and
much more!!! FREE shipping in the U.S. 30 day
money back guarantee.
NOT COPY PROTECTED. $49.
OPUS Engineering
5825 Vargas Ct.
San Jose, CA 95120
(408)997-1503
Software/General
PUBLIC DOMAIN SOFTWARE IN C
Over 60 volumes of public domain software in
CP/M & MS-DOS formats.
• editors & compilers
• text formatters
• communications packages
• many UNIX-like tools
Write or call for more details.
Users'
Group
THE C USERS’GROUP
P.O. Box 97
McPherson, KS 67460
(316)241-1065
Software/Graphics
TEKTRONIX 4010 EMULATION
High resolution screen/printer graphics for the
IBM PC. Full interactive capabilities with file
transfer and cross-hair control. Utilizes PLOT 10,
protocols. OFF-line review of graphics output.
Supports IBM color/graphic or Hercules cards.
Easy to use 4010 emulation at an affordable price.
$80.00. Demo disk $5.
Technological Systems Group
5044 Haley Court
Lilburn, GA 30247
(404)923-4980
PLOTTER SOFTWARE
Presentation aides (word charts) are quick and
easy to prepare using the DGISIGNMAKER. With
the DGI SIGNMAKER, your PC and plotter (IBM,
HR HI, Epson) your overheads, text slides or signs
will have that professional look. $75. For addi¬
tional information, ordering or to check compat¬
ibility contact:
Decision Graphics, Inc.
P.O. Box 2776
Littleton, CO 80161
303-796-0341
MetaWINDOW™
Advanced graphics toolkit provides Xerox Star/
Apple Macintosh style graphics on your IBM PC.
Supports most popular graphics cards. Allows
you to create pop-up menus, windows & icons;
use proportionally spaced fonts; rubberband &
drag lines, text or bitmap images; supports
mouse-cursor tracking. Tightly optimized for use
with Turbo Pascal, IBM Pascal, C, Fortran &
Compiled Basic
METAGRAPHICS SOFTWARE CORP.
4574 Scotts Valley Drive
Scotts Valley, CA 95066
(408)438-5352
TERMINAL EMULATION
For under $100, MicroPlot’s PC-Plot III graphics
emulator software package will enable your IBM
PC and compatibles to appear to a mainframe
as a DEC VT-100/VT-52, a Retrographics VT-
640, a Tektronix 4010/4014 or a partial Tektro¬
nix 4027. Call 1-800-338-0333, In Ohio
1-800-242-0333. Operator ID.: 766-8501
MicroPlot
659-H Park Meadow Road
Westerville, OH 43081
(614)882-4786
SCIENTIFIC DATA PLOTTING
SCI-GRAF creates graphs up to 1680 x 1712 dots
(over 3 million pixels!) on Epson or IBM graphics
printers. Supports log scaling, overlays, point¬
labeling, legend creation, batch mode, wide-
carriage printers, and color graphs on a JX-80.
Requires DOS 2 or 3, 256K. No credit cards.
$99.95
Microcomputer Systems Consultants (MSC)
27-P Forest Avenue
Port Jefferson Station, NY 11776
(516)928-7493
Software/Languages
EASY WAY TO MASTER DOS!
New handbook shows how, why, and when to
use all 44 PC & MS DOS commands quickly and
easily! Lively hands-on tutorial makes learning
fun, for a change. Covers basic thru advanced
topics. All versions up to 3.1. Lots of practical
examples. 221 pages only $15.95 at book¬
stores, or send check + $1.00 S&H to:
LITTLE, BROWN & COMPANY PUBLISHERS
200 West Street, Code T-368121
Waltham, MA 02254
1 -800-343-9204 (credit cards)
FREE 8088 TUTOR Monitor
Learn 8088 assembly language using the new
book, IBM PC-8088 Assembly Language Pro¬
gramming, by Richard E. Haskell. Order the book
for $25 plus $3 s/h and get the powerful TUTOR
monitor software free. Load and examine any disk
file, disassemble any 8088 code, debug EXE files.
Satisfaction guaranteed.
REHI Books
54 N. Adams, Suite 130-T
Rochester Hills, Ml 48063
(313)853-1941
Software/One Of A
Kind
INTRODUCING-JORJ
JORJ- The first and only phonetic dictionary! 50K
words/15K definitions. Finds words super fast
for both good/poor spellers. JOSE a fun word-
game is included in iinitial release as a bonus.
Requires IBM-PC D0S2 & Hard disk. Copy pro¬
tected. Price $100. JORJ demo disk $10. Check/
M.O. Mich, residents add 4% sales tax.
JORJ SOFTWARE CO.
4354 Fletcher Rd.
Manchester, Ml 48158
(313)428-8010
Software/Operating
Systems
UN/EMULATOR BY WAWA
Run CPM on your PC or clone at MACHINE
SPEED. UN/EMULATOR runs native 8080 code
and increases DOS performance by 10%. We
include disk conversion software, terminal em¬
ulators, and serial transfer utility. Available in 5
MHz and 8 MHz. Starting at $99.95 plus $5 S&H.
Dealer inquiries welcome. Call or write:
WEITZMAN AND WOOD ASSOCIATES
580 N.W. 99th Way
Pembroke Pines, FL 33024
(305)432-8025
Software/Scientific
SPARSE/DENSE MATRIX
MATRIX: Does to matrix what TK! solver did for
numbers. Solves lin/nonlin/diff eqns. Program¬
mable Matrix functions. $59.95
SPARSEPACK: Turbo Pascal source code for
user-transparent Sparse Matrix handling. Over¬
come 64K barrier and more. $49.95. VISA/MC
call 1-800-835-2246 ext. 80.
SoftTech Inc.
18505 W. 8 mile.
Detroit, Ml 48219
1-313-544-8544
Software/Security
SECURE AT/XT/PC
Control system access, data access! FiXT/S.
Control system boot for most popular XT/PC hard
disk controllers. Vfeature for AT-and-XT-com-
patible HD controllers segments hard disk by
volumes, controls access with passwords, sup¬
ports hard disk expansion. $80 $120+$3 shpg.
plus CA tax.
Golden Bow Systems
2870 Fifth Ave. Suite 201
San Diego, CA 92103
(619)298-9349
BITLOCK® SECURITY
Proven effectiveness of powerful multilayered
security on IBM PC/XT/AT Compatibles. TRS-
80, Apple & Commodore computers using rapid
decryption algorithms. Total transarency after
easy attachment of small reliable security de¬
vice to external port. Inexpensive, yet has sur¬
vived piracy attempts > 3V2 years.
MICROCOMPUTER APPLICATIONS
7805 S. Windmere Circle
Littleton, CO 80120
(303) 798-7683 or 922-6410
214
PC TECH JOURNAL
TECH BOOK
SMART COPY PROTECTION
Attention Software Developers:
In the past, Copy-Protecting your program or
system meant inconvenience to the end-user,
complicated production techniques and a lot of
added expense per product copy. Our new EV-
ERLOCK product has solved these problems. For
IBM PC/XT/AT and compatibles. Call us.
Az-Tech Software, Inc.
426 Grandview
Richmond, MO 64085
(816)776-8153
SIDEVIEW: PC/AT MENU
Password protect your hard disk today! DOS 3.0/
3.1 hard disk manager. Allows you to create color
menus to run any program or DOS command.
Prevent hard disk erasure. Works with XT’s too.
25 pg manual. Money back guarantee. PO’s &
phone orders accepted. $39 + $3 shpg.
Keller Software
1825 Westcliff Drive
Newport Beach, CA 92660
714-642-5544
Software/Services
TAPE/DISK CONVERSIONS
Conversion services to or from over 500 com¬
puter systems:
• Magtapes
• Micro Computers
• Mini Computers
• Word Processors
• Typesetters
Our conversion capabilities surpass most in the
industry.
Pivar Computing Services, Inc.
165 Arlington Hgts. Rd.#T
Buffalo Grove, IL 60089
(312)459-6010
TAPE AND DISK CONVERSIONS
TO/FROM cards, disk, tape ASCII/EBCDIC
specializing in IBM-PC/XT/AT and compatibles.
Reasonable prices, satisfaction guaranteed. To¬
tal Data Processing services with in-house
mainframe.
D.P Modern Systems
804 N. Reeder Ave.
Covina, CA 91724
(818)966-2628
Software/Statistics
RATS!
RATS is the ultimate econometric software
package. It is powerful, fast, accurate, and in¬
expensive. RATS performs regression analysis,
time-series forecasting (including Box-Jenkins)
and cross-section (including logit and probit).
RATS supports a variety of data formats, includ¬
ing Lotus WKS files. RATS also offers a pro¬
gramming language that provides maximum
flexibility and power. Spectral analysis and
graphics are available as options. Base pro¬
gram $200. Demo including 300 page manual
$40. MC/VISA.
VAR Econometrics
P.O. Box 19334
Minneapolis, MN 55419
(612)822-9690
ELF-THE STATISTICAL PKG.
Interface with Dbase and Lotus files or will cre¬
ate its own. Factor analysis, stepwise regres¬
sion, discriminant analysis, 1&2 way anova
crosstabs, correlations, t-test, frequencies,
transformations.... unlimited observations, 500
variables in database. All new and improved
manual. 30-day examination. Call for more.
The Winchendon Group, Inc.
P.O. Box 10339
Alexandria, VA 22310
(703)960-2587
Software/Terminal
Emulation
VT-102& 4010 EMULATION
PC 102 turns an IBM PC/XT/AT/jr to a VT-102/
100/52 terminal with printer/file transfer sup¬
port. Optional: 132 col., 4010 graphics support.
Guaranteed compatibility with all VT-100/52
applications including EDT, WORD II, All-In-One,
& UNIX. Easy to use. 3000+ sold. From $89. MC/
VISA/COD. Call for free package! Moneyback
guarantee.
General Micro Systems
P.O. Box 5330
Hopkins, MN 55343
(612)944-0593
Software/Utilities
AT/XT/PC HARD DISK EXPANSION
“Replace hard disk with a bigger one, or add a
second drive! Vfeature BREAKS THE 33 MBYTE
BARRIER on standard AT, XT, and compatible
hard disk controllers. Includes multiple vol¬
umes, security features, selectable clusters,
keyboard lock. $80-$120 + $3 shipping + CA
Tax”
Golden Bow Systems
2870 Fifth Avenue, Suite 201
San Diego, CA 92103
(619)298-9349
DISK MECHANIC
THE ULTIMATE Floppy Disk Backup & Repair
Utility. Can back up ALL software protected disks
written on the IBM PC. Works manually or au¬
tomatically. Files or sectors can be restored,
searched, examined & changed. Checks disk
drive speed, req. IBM PC, XT, AT, DOS 1, 2, 3,
192K + 64K if only 1 floppy drive. $73 ppd. USA
MU MICROSYSTEMS
PO BOX 825, Dept TB2
Framingham, MA 01701 USA
(617) 926-2055 for info MC/VISA
CHARACTER CUSTOMIZATION
CHARGENI 2.1 works with the IBM EGA to let you
modify the character set, allowing many word
processors to display technical material, equa¬
tions or other special characters. Also works on
the Color/Graphics Adapter in graphics modes.
Requres DOS 2.x or 3.x, IBM Standard or En¬
hanced Graphics Adapter. $35 + $2 s/h (MN add
6 %).
DK Micro Consultants
P.O. Box 6714
Minneapolis, MN 55406
(612)722-0931
MenuWorks™ $25
Using a PC becomes as easy as turning it on:
Start up all programs from menu. Customize
selection screen. Just Tab & Enter to Run.
Prompts for input if needed. Super slick editor
to set up menu; easy to change. Fast. Full screen,
windows, help, 196K, color/mono, 30 day $ back
guarantee, $25 chk/VISA/MC.
Keep It Simple Software, Inc.
211 East 43rd Street
New York, NY 10017
(800)848-8909
dirWorks™ $25
PC users: avoid DOS drudgery! Complete disk
mgt made simple: copy, erase, rename, format,
all directory commands and TONS more. Mul¬
tiple file & directory operations, Sorts display by
time, date & alpha. Edit files without going to
DOS. Full screen, windows, help. Fast, 196K,
color/mono, novice & expert mode, 30 day $ back
guarantee, $25 chk/VISA/MC.
Keep It Simple Software
211 East 43rd Street
New York, NY 10017
(800)848-8909
JetWorks™ $25
Attention HP LaserJet users: Control LaserJet &
forget escape sequences forever. Full menu and
window selection for all options & cartridges.
Creates batch files to avoid repetitive setups.
Prefab font files for all current cartridges. Full
screen, windows, help, fast & simple, 196K,
color/mono, 30 day $back guarantee, $25 chk/
VISA/MC.
Keep It Simple Software, Inc.
New York, NY 10017
(800)848-8909
PC-COMPANION
Menu subsystem, a must for any PC with a hard
disk supporting multiple applications or users.
Single key stroke execution of software. 15 en¬
tries per menu. Set drive, path, directory, printer.
Password access to menus. Supports all types
of command execution Command logging.
Screen colors definable. Written in assembler for
rapid access. Requires 32k MSDOS/PCDOS 2.0
or higher. $39.95 (TX resident add 6.125% tax).
BINARY ENGINEERING
12841 Jones Rd. Suite 101
Houston, TX 77070
(713)995-3770 VISA/MC
TallScreen—DOS POWER
Natural extension of DOS. Scroll back through
screen output, edit text on full screen, mark blocks
to printer or file, recall commands & directories,
enter multiple commands, capture screens from
application programs, create user profiles. Solid
tech support. A real bargain at $49.95
VISA/MC
QUALITAS™
Qualitas, Inc.
8314 Thoreau Drive
Bethesda.MD 20817
(301)369-8848
EXTENDED FILE UTILITIES
Replace MS-DOS COPY, DELETE, RENAME with
these fast, powerful utilities (DOS 2.0 or later).
File lists with commas, optional confirmation
querying, access to hidden/system files, ASCII¬
mode copying. Just $15 + $1.95 s/h (MA res.
add .75 tax), MC/VISA OK.
Pocumtuck Valley Software
P.O. Box 156-A
South Deerfield, MA 01373
EFFICIENT DOS
PCED: Use DOS more efficiently without menus,
batch files, keyboard enhances. Command edi¬
tor with recall; synonyms execute one or many
commands with batch-style variables; auto¬
matic parameter recall; command logging;
MUCH more. Very flexible. Recommended by
Doctor Dobbs and CPCUG. $35 plus $4 s/h;
VISA/MC.
The Cove Software Group
P.O. Box 1072
Columbia, MD 21044
(301)992-9371
CONCURRENT DOS BACKUP
BackPack™ runs like BACKUP/RESTORE and
supports DOS and CP/M media as well as users.
Backs up and restores up to lOOOK/min. on an
AT and 360K/min. on an XT. Supports release
4.1. Also available on CP/M-80 and CP/M plus.
$150.
Bright Light, Inc.
520 Fellowship Rd. #C301
Mt. Laurel, NJ 08054
(609)778-0772
JUNE 1986
215
TECH BOOK
Directory extended™
BE IN COMMAND! New version of very popular
command-oriented file manager! POWERFUL
batch file generation-perform any task! FLEXI¬
BLE file matching and sorting! CONTROL file at¬
tributes! TEST file integrity!. MONITOR disk
params; 2-col display! MUCH MORE! Send
$35+$5 p&h (in TX, add tax); money back
guarantee!
Directory
EXTENDED™
ECONO-SOFT Dept. T66
9200 North Plaza #1906
Austin, TX 78753
HELL uva SHELL
Most DOS interfaces are designed for IDIOTS!
Get the BEST full-screen interactive directory
around... DOS command recall... command
aliasing... multiple commands at DOS prompt
...find files anywhere on disk... find complex
text patterns in files... browse files... copy files
based on time stamp & MORE. Only $39! DOS
2.0+, uses 96K memory. NCP!
Dwarf Nebula Software
666-SHELL
P.O. Box 46, Dept. TJ
Sugarland, TX 77487
EASYINDXE PLUS™
Cross reference all source code by file name.
Create index by page number. Unlimited num¬
ber of indexes and accessed files. Word or phrase
indexes up to 59 characters. Table of contents
generation, typesetting, and print formatting.
Supports over 100 printers. $39.95 $3 shipping
(CA. RES. ADD $2.60 Tax)
Foreman Software
977 Clayton St. D4
San Francisco, CA 94117
(415)665-6414
TurboRef 4.0
Pascal programmers get organized with
TurboRef! TurboRef will cross reference a source
program and create a program listing. TurboRef
can process a list of files, will read “include” files,
identifies line number for each reference. New
release now avail. IBM PC and jr., XT, AT or com¬
patible, only $49.95; VISA/MC, or check.
^ RACON SERVICES, INC.
GRACON Services Inc.
4632 Okemos Rd.
Okemos, Ml 48864
(517)349-4900
TURBO PACKAGE for Turbo
Pascal
*Crash the 64K barrier. Forget MODULA2.
*1000 times faster than chains or overlays.
^Precompiler turns short calls into long calls. Run
500K of memory resident code.
*32 bit integer math toolbox, ASM.
*Mix Turbo, TurboBCD, and Turbo-87.
*Free information.
*Turbo Package plus tools, $39.95.
CONVERSATIONAL COMPUTER SYSTEMS
5371 Verbena Road
San Antonio, TX 78240
(512)692-0353
Software/Word
Processing
FORMATH™ TEXT-FORMATTER
For technical texts. Sizes & places equations,
matrices, ratios, integrals, big symbols, foot¬
notes. Macros, multiple fonts, 158 Greek/math
symbols. Automatic hyphenation, section/
equation/reference numbering, indexes, table of
contents. Dot-matrix, daisywheel, laser printers,
plain/graphics monitors. $400. $50 for demo.
SHANTHA SOFTWARE, INC.
50 West 97th St. Room 11N
New York City 10025
212-222-7647
Touch-tone Toll-free: 950-1088-wait-FORMATH
INDEX TO ADVERTISERS pc tech journal june 1986
READER
SERVICE NUMBER ADVERTISER PAGE
102 ADIC...132
109 AST Research, Inc.25
110 AST Research, Inc. 44-45
190 Advanced Development Technologies.141
116 Advanced Logic Research, Inc.Cover 3
199 Advanced Logic Research, Inc.90
106 Alcyon Corp.150
101 Alpha Computer Corp.149
200 Alsys Inc. 78-79
218 American Small Business Computers. 8
214 Answer Software.202
136 Arity Corp. 163
203 Atron. 10
249 Atron. 190
105 Barrington Systems, Inc...; 14-15
114 Blaise Computing, Inc. 174
253 Borland International. 35
254 Borland International....,...37
252 Borland International.39
255 Borland International.41
107 Bruce Newman Company...162
217 CXI, Inc. 135
111 Catamount Corp...:. 170
156 Cauzin Systems, Inc.9
213 Central Point Software.-.27
139 Chalcedony Software.191
140 Chalcedony Software.193
189 Coefficient Systems.161
227 Command Technology Corp. 114
117 Cordata, Inc...—.6-7
* Creative Programming Consultants.22
103 DTSS, Inc.. 20
118 Data Access Corp. 68
215 Data Base Decisions.5
104 Dynamus Micro-Data Systems, Inc. 201
225 Dynatec Systems, Inc.:. .117
131 Ecosoft. 118
170 Ellis Computing.175
121 Emerald Technology Group.1
158 Entelekon.119
120 Essential Software, Inc.146
134 Everex Systems, Inc. 60
135 Everex Systems, Inc.62
119 FairCom....197
108 Fifth Generation Systems.122
125 Fifth Generation Systems. 147
READER
SERVICE NUMBER ADVERTISER PAGE
137 Flexus International Corp..... 107
138 Foresight Resources Corp.148
141 Gateway Communications, Inc.64
* Gimpel Software....139
122 Gold Hill Computers, Inc.66
113 HavenTree Software Limited.142
155 Hayes Microcomputer Products, Inc.74
149 IBEX Computer Corp.192
248 IBM Corp..108109
202 I-Bus Systems..205
216 Intel Corp. 76-77
204 John Fluke Manufacturing Co., Inc.. 164
112 KADAK Products, Ltd.178
148 Kurtzberg Computer Systems.197
128 Lahey Computer Systems, Inc. 160
160 Lattice, Inc...:.18
144 Lifeboat Associates.137
229 Logitech, Inc.121
146 MDS, Inc. 208
133 MEF Environmental. 192
208 Manx Software.56
205 Mark Williams Co...:...21
154 Micro Focus.24
* Microsoft. 30
* Microsoft... 101
* Microsoft.171
167 Microstuf.Cover 4
169 MicroWay... 84
166 Novell.28-29
222 Opt-Tech Data Processing.4
142 Orchid Technology. 13
185 Overland Data, Inc.170
171 PC Brand.151
172 PC Brand.152-153
145 PC’s Limited. 129-131
230 Paradise Systems, Inc. 23
150 Peter Norton...158
159 Prentice-Hall.116
161 Prentice-Hall...159
198 Pro/Am Software.165
175 Programmer’s Connection.49-51
220 Programmer’s Shop.46
162 Programmer’s Shop.184
READER
SERVICE NUMBER ADVERTISER PAGE
151 Programmer’s Shop.185
147 Quadram Corp.58
181 Rational Systems, Inc.169
240 Readiware Systems, Inc.134
165 Real Time Devices, Inc. 173
143 Relational Database Systems, Inc.88
174 Ryan-McFarland.180
228 Schuller & Associates.,.177
187 Scientific Endeavors.173
124 Seattle Telecom & Data, Inc. 94
164 SofCap, Inc.-.189
201 SoftCraft.-.2
192 Software Bottling Co. of NY.26
127 Software of the Future.136
196 Software Link.70
168 Software Masters.113
163 Software Masters. 166
173 Software Security. 200
123 Solution Systems... 16
130 Solution Systems..'..27
126 Solution Systems.198
129 Solution Systems.198
176 SOPHCO.112
242 Spruce Technology Corp.192
177 Stargate Technologies, Inc...144
183 Sterling Castle. 186
195 Summit Software Technology, Inc.145
152 Sunny Hill Software.120
231 Systems & Software.196
194 Tall Tree Systems.86
197 Tall Tree Systems..Cover 2
206 Tangent Technologies.199
179 Tech PC.92
182 TeleVideo.:.42-43
178 Thompson Automation..138
184 TORUS Systems, Inc. 143
186 Trailridge Research, Inc. 168
191 True BASIC, Inc.105
193 TurboPower Software. .140
115 Vermont Creative Software. 19
212 Vu Data. 203
188 Walonick Associates.106
221 Wizard Systems Software, Inc...,.178
219 Zanthe Information, Inc.172
224 Zedcor, Inc. 167
216 PC TECH JOURNAL
INDEX TO PRODUCTS
PC TECH JOURNAL JUNE 1986
RS# PRODUCT
ADVERTISER
PAGE RS# PRODUCT
ADVERTISER
PAGE
116
199
248
179
182
110
109
225
135
216
230
147
165
124
197
194
186
102
111
202
149
185
231
117
214
156
133
213
133
173
217
121
134
125
141
155
177
189
103
160
167
166
130
101
156
188
138
136
105
252
254
253
139
131
170
*
122
128
229
208
*
181
174
129
126
195
205
191
221
IBM COMPUTERS AND COMPATIBLE UNITS
PC 2/286 Advanced Logic Research ....Cover 3
DART Advanced Logic Research .90
IBM PC/AT IBM . 108-109
Desktop Tech-Personal Computers . 92
Televiaeo AT Televideo Systems, Inc.42-43
ACCESSORY CARDS
6 Pak Premium
RAMpage! AT
SUPERCHARGER
Magic Card
Above Board
High Resolution Graphics Card
QUADBOARD AT
GPIB Interface
Top Board
JRam 3
JLaser
X-3 Multifunction
AST Research Inc.
AST Research Inc.
Dynatec Systems, Inc. .
Everex Systems, Inc.
Intel Corn.
Paradise Systems, Inc. .
Quadram Corp..
Real Time Devices, Inc.
Seattle Telecom & Data
Tall Tree Systems .
Tall Tree Systems .
Trailridge Associates ...
....44-45
.25
.117
62
.... 76-77
.23
.58
.173
.94
Cover 2
.86
.168
MASS STORAGE HARDWARE
TD 440 ADIC .132
9 Track Tape System Catamount Corp. ..170
Expansion Chassis I-Bus Systems .205
TS-100 for IBM PC/XT IBEX Computer Corp.192
TC-50 and TC-PC Overland Data, Inc.170
Perstor Systems & Software .196
PRINTERS-PLOTTERS
Cordata Laser Printer Cordata, Inc.6-7
ALTERNATE INPUT DEVICES
PDP Debugger Answer Software .202
Softstrip Cauzin Systems . 9
No Limit/Fortran/Pascal/C MEF Environmental .192
190
106
200
203
249
114
255
227
*
215
104
158
120
119
137
148
144
146
154
222
171
172
150
198
201
168
127
123
242
183
152
206
192
193
115
INTEGRATED CIRCUITS
224
Copy II PC Central Point Software .27
No Limit/Fortran/Pascal/C MEF Environmental .192
PROGRAMMER’S TOOLS
The CREATOR
C68
The PC-AT Compiler
PC Probe
Software Source
Programming Tools
Turbo Editor
SPF/PC Editor
“Vitamin C”
Periscope
Zipcalc
C- Library/C-W indows
C Utility Library
CTree
Screenplay
C Tree Query
Utilities, Editors
HELP/Control
VS Cobol Workbench
Productivity Tools
Various
Various
Norton Editor
DIS n DATa
B-Trieve
The Visible Computer
Window Dos
BRIEF
FirsTime
Basic Prog. Tools
TASKVIEW
Turbo-Task
Flashcode, Screen Sculptor,
Flash-up Windows
Turbo Extender
Windows for C, Windows for
Data
Z BASIC
Advanced Development
Technologies .141
Alcyon Corp.150
Alsys, Inc.78-79
Atron .10
Atron . 190
Blaise Computing, Inc.174
Borland International .41
Command Technology Corp.114
Creative Programming
Consultants .22
Data Base Decisions ..5
Dynamus Micro-Data Systems
Inc...
Entelekon .
Essential Software, Inc.
FairCom .
Flexus International Corp.
Kurtzberg Computer Systems
Lifeboat Associates ..
MDS Inc.
Micro Focus Ltd.
Opt-Tech Data Processing ....
PC Brand .
PC Brand .
Peter Norton Utilities .
Pro/Am Software .
SoftCraft .
Software Masters ..
Software of the Future, Inc. .
Solution Systems .
Spruce Technology .
Sterling Castle .
Sunny Hill Software .
Tangent Technologies .
.201
.119
.146
.197
.107
.197
.137
.208
.24
.4
.151
152-153
.158
.165
.2
.113
.136
.16
.192
.186
.120
.199
The Software Bottling Co. of NY . 26
Turbo Power Software .140
Vermont Creative Software .19
Zedcor ...167
SOFTWARE UTILITIES
SECURITY DEVICES
The BLOCK Software Security ...200
COMMUNICATIONS HARDWARE
CXI Remote
5251 Emulation
Evercom Modem
Logical Connection
Gateway
Hayes Smartmodem 1200B
Stargate OC8000
CXI Inc.
Emerald Technology Group .
Everex Systems, Inc.
Fifth Generation Systems .
Gateway Communications, Inc.
Hayes Microcomputer Products
Stargate Technologies ....
135
. 1
..60
147
.64
.. 74
144
COMMUNICATIONS
V-Term Coefficient Systems .161
DaTapaSS DTSS, Inc. 20
Side Talk Lattice, Inc.18
Remote Microstuf .Cover 4
“SFT NetWare System” Novell Inc.28-29
ZAP Solution Systems .27
SOFTWARE FOR PROFESSIONALS
Fortran Support for IBM, PC,
XT, AT Alpha Computer Service .149
Softstrip System Cauzin Systems, Inc.9
Statistics & Forecasting Walonick Associates .106
ENGINEERING SOFTWARE
Drafix I Foresight Resources Corp.148
LANGUAGES
Prolog Compiler
Clarion
Turbo Prolog
Reflex
Turbo Pascal Family
PROLOG i
‘Ecosoft C’
Utah Software
C-Terp
LISP
F77L Lahey Fortran
Modula 2
Aztec C86 1.4
Ouick BASIC
Macro Assembler
Instant-C
Fortran
TransLISP
Prolog-86
Better BASIC
Let’s C
True BASIC
Wizard C-Compiler
Arity ...
Barrington Systems Inc.
Borland International .
Borland International .
Borland International .
Chalcedeony Software ..
Ecosoft, Inc.
Ellis Computing .
Gimpel Software .
Gola Hill Computers Inc..
Lahey Computer Systems .
Logitech, Inc.
Manx Software Systems ..■...
Microsoft Corp...
Microsoft Corp.
Rational Systems .
Ryan-McFarland .
Solution Systems .
Solution Systems .
Summit Software Technology,
Inc.
The Mark Williams Company
True BASIC, Inc.
Wizard Systems Software, Inc.
....163
14-15
.39
.37
.35
...191
...118
....175
....139
.66
...160
....121
.56
....171
. 101
.... 169
.180
.198
.198
....145
. 21
.105
....178
101 Fortran Support for IBM PC,
XT, AT Alpha Computer Service ..149
107 File-Power Bruce Newman & Co.162
140 Scout Chalcedeony Software .193
108 Fastback Fifth Generation Systems .122
204 PC Tester John Fluke Manufacturing Co.164
228 file MASTER Schuller & Associates .177
164 HD Tune-Up SofCap Inc. ... v .189
163 ‘FLASH’ Software Masters .166
176 “Sybil” SOPHCO .112
178 Percent Thompson Automation .138
GRAPHIC SOFTWARE
218 Pro Design II American Small Business Comp.8
138 Drafix I Foresight Resources Corp.148
113 Flowchart HavenTree Software .....142
187 Graphic Scientific Endeavors .173
DATA BASE MANAGEMENT SOFTWARE
118 Data Flex Data Access Corp. 68
143 INFORMIX-SQL Relational Database Systems .88
219 ZIM Zanthe Information, Inc.172
OPERATING SYSTEMS
112 Real-Time Multi KADAK Products Ltd.178
MICROPROCESSORS
142 PC Turbo 286E Orchid Technology .13
NETWORKING PRODUCTS
196 Multilink Advanced The Software Link .70
184 Tapestry TORUS Systems, Inc.143
ADDITIONAL SUPPLIES
240 Readi Scope ReadiWare Systems .134
HARDWARE DIAGNOSTIC TOOLS
212 Model AID/88 Vu-Data .203
LITERATURE
* Newsletter Microsoft Coip.30
161 Prentice-Hall Books Prentice-Hall Books .159
159 Brady Books Prentice-Hall Books .116
MAIL ORDER
169 8087 Boards/2020
Accelerator Card
145 Mail Order
175 Mail Order
162 Mail Order
151 Mailorder
220 Mail Order
Microway .84
PC’s Limited .129-131
Programmers Connection .49-51
The Programmers Shop .184
The Programmers Shop .185
The Programmers Shop .46
JUNE 1986
217
JUNE
June 3-5
13th International
Symposium on Computer
Architecture
Tokyo, Japan
Sponsor: IEEE-CS, ACM, and
Information Processing
Society of Japan
Contact: Shunichi Uchida,
ICOT, Mita Kokusai Building
2 IF, 4-28 Mita 1-Chome, Mi-
nato-ku, Tokyo 108, Japan
June 4-6
National Educational
Computing Conference
San Diego, CA
Sponsor: ACM, IEEE, SCS
Contact: Susan M. Zgliczyn-
ski, University of San Diego,
School of Education, Alcala
Park, San Diego, CA 92110
June 16-19
National Computer
Conference
Las Vegas, NV
Sponsor: AFIPS, ACM,
IEEE-CS, DPMA, and SCS
Contact: AFIPS, 1899 Preston
White Drive, Reston, VA
22091; 703/620-8900
June 22-25
23rd Design Automation
Conference
Las Vegas, NV
Sponsor: ACM SIGDA
and IEEE-CS
Contact: J. D. Nash, Raytheon
Company, Bedford, MA
01730; 617/274-7100,
extension 4758
June 22-August 1
National Computer Camps
CT, OH, GA
Contact: National
Computer Camps, Box 585-
CA, Orange, CT, 06477;
203/795-9667
June 23-27
Compiler Construction
Palo Alto, CA
Sponsor: ACM
Contact: ACM 11 W. 42nd
Street, New York NY 10036;
212/575-1520
JULY
July 8-11
UNIX: A Comprehensive
Workshop
Washington, DC
Sponsor: Integrated
Computer Systems
Contact: Yolande Amundson,
Integrated Computer Systems,
6305 Arizona Place, P.O.
Box 45405, Los Angeles, CA
90045; 800/421-8166
July 9-11
PC EXPO
New York, NY
Contact: 333 Sylvan Avenue,
Englewood Cliffs, NJ 07632;
201/569-8542
July 21-25
European Conference on
Artificial Intelligence
Brighton, England
Sponsor: European Coordi¬
nating Committee on Artifi¬
cial Intelligence and the
Society for the Study of
Artificial Intelligence and
Simulation Behavior
Contact: Benedict du Boulay,
ECAI, The University of
Sussex, Cognitive Studies
Programme, Brighton
BN1 9QN, UK.
July 21-26
Third International
Conference on Logic
Programming
London, England
Contact: Doug DeGroot, IBM
Research, P.O. Box 218,
Yorktown Heights, NY 10598
July 22-25
Ada Programming
Workshop
Washington, DC
Sponsor: Integrated
Computer Systems
Contact: Yolande Amundson,
Integrated Computer Systems,
6305 Arizona Place, P.O.
Box 45405, Los Angeles, CA
90045; 800/421-8166
AUGUST
August 4-6
LISP and Functional
Programming
Cambridge, MA
Sponsor: Association for
Computing Machinery
Contact: Richard P. Gabriel,
Lucid, Inc., 707 Laurel Street,
Menlo Park, CA 94025
August 5-7
ACM SIGCOMM Futures in
Communications
Conference
Stowe, VT
Contact: Walter Kosinsky,
Norwich University, North-
field, VT 05663;
802/485-5011, ext. 237
August 11-13
Symposium on Principles
of distributed Computing
Calgary, Alberta, Canada
Sponsor: ACM SIGACT-
SIGOPS
Contact: ACM, 11 West 42nd
Street, New York, NY 10036
August 18-22
13th Annual Conference
on Computer Graphics
and Interactive
Techniques
Dallas, TX
Contact: SIGGRAPH 86
Conference Management,
111 East Wacker Drive,
#600, Chicago, IL 60601;
312/644-6610
August 19-22
1986 International
Conference on Parallel
Processing
St. Charles, IL
Sponsor: ACM
Contact: IEEE-CS, 1730
Massachusetts Avenue, NW,
Washington, DC 20036-1903
SEPTEMBER
September 1-6
World Computer
Conference
Dublin, Ireland
Sponsor: International
Federation for Information
Processing
Contact: IFIP Congress
86, 1899 Preston White
Drive, Reston, VA 22091;
703/620-8900
September 8-10
NCC-Telecommunications
Conference
Philadelphia, PA
Sponsor: AFIPS, ACM, DPMA,
IEEE, SCS
Contact: Mike Sherman,
AFIPS, 1899 Preston White
Drive, Reston, VA 22091;
703/620-8935
218
PC TECH JOURNAL
ILLUSTRATION • DAVID POVILAITIS
I
h-
Use these reader service cards to get
FREE INFORMATION
about the products and services
in this issue of TECH JOURNAL
Learning more about a product that’s advertised or mentioned in an article
in this month’s issue is as simple as 1-2-3. And absolutely free.
1 Print or type your name
and address on
the attached card.
Use only one card per person.
2 Circle the numbers on the card that
correspond to the numbers at the bot¬
tom of the advertisements or articles
for which you want more information.
(Key numbers for advertised products also appear in
the Advertisers’ index.)
3
Simply mail the card,
and the literature
will be mailed to you free
of charge by the manufacturer.
"T-"T"
R
(fit
TI
—
!
—I
'A
(
4
tH
L
Are you personally involved in
the selection of microcomputers
and related products for:
I Your company or
organization?
a D Yes b D No
2 Your client companies or
organizations?
<CI Yes °D No
3 Are you planning to purchase
in the next 6 months:
e D PC Hardware?
f D PC Software?
g D PC Peripherals?
101 116
102 117
103 118
104 119
105 120
106 121
107 122
108 123
109 124
110 125
111 126
112 127
113 128
114 129
115 130
131 146
132 147
133 148
134 149
135 150
136 151
137 152
138 153
139 154
140 155
141 156
142 157
143 158
144 159
145 160
161 176
162 177
163 178
164 179
165 180
166 181
167 182
168 183
169 184
170 185
171 186
172 187
173 188
174 189
175 190
191 206
192 207
193 208
194 209
195 210
196 211
197 212
198 213
199 214
200 215
201 216
202 217
203 218
204 219
205 220
221 236
222 237
223 238
224 239
225 240
226 241
227 242
228 243
229 244
230 245
231 246
232 247
233 248
234 249
235 250
251 266
252 267
253 268
254 269
255 270
256 271
257 272
258 273
259 274
260 275
261 276
262 277
263 278
264 279
265 280
281 296 311
282 297 312
283 298 313
284 299 314
285 300 315
286 301 316
287 302 317
288 303 318
289 304 319
290 305 320
291 306 321
292 307 322
293 308 323
294 309 324
295 310 325
326 341
327 342
328 343
329 344
330 345
331 346
332 347
333 348
334 349
335 350
336 351
337 352
338 353
339 354
340 355
356 371 386
357 372 387
358 373 388
359 374 389
360 375 390
361 376 391
362 377 392
363 378 393
364 379 394
365 380 395
366 381 396
367 382 397
368 383 398
369 384 399
370 385 400
Please print clearly— Use only one card per person.
Name_Phone (_
Void after September 30,1986
Tide.
Company.
Address_
Apt.
City_State_Zip_
(Zip code must be included to insure delivery.)
□ Please send me 1 year (12 issues) of PC Tech Journal for $23.70 and bill me.
I’ll save 50% off the single copy price!
Are you personally involved in
the selection of microcomputers
and related products for:
I Your company or
organization?
a D Yes b D No
2 Your client companies or
organizations?
<0 Yes dQ No
3 Are you planning to purchase
in the next 6 months:
e D PC Hardware?
f D PC Software?
g D PC Peripherals?
101 116
102 117
103 118
104 119
105 120
106 121
107 122
108 123
109 124
110 125
111 126
112 127
113 128
114 129
115 130
131 146
132 147
133 148
134 149
135 150
136 151
137 152
138 153
139 154
140 155
141 156
142 157
143 158
144 159
145 160
161 176
162 177
163 178
164 179
165 180
166 181
167 182
168 183
169 184
170 185
171 186
172 187
173 188
174 189
175 190
191 206 221
192 207 222
193 208 223
194 209 224
195 210 225
196 211 226
197 212 227
198 213 228
199 214 229
200 215 230
201 216 231
202 217 232
203 218 233
204 219 234
205 220 235
236 251
237 252
238 253
239 254
240 255
241 256
242 257
243 258
244 259
245 260
246 261
247 262
248 263
249 264
250 265
266 281 296
267 282 297
268 283 298
269 284 299
270 285 300
271 286 301
272 287 302
273 288 303
274 289 304
275 290 305
276 291 306
277 292 307
278 293 308
279 294 309
280 295 310
311 326
312 327
313 328
314 329
315 330
316 331
317 332
318 333
319 334
320 335
321 336
322 337
323 338
324 339
325 340
341 356
342 357
343 358
344 359
345 360
346 361
347 362
348 363
349 364
350 365
351 366
352 367
353 368
354 369
355 370
371 386
372 387
373 388
374 389
375 390
376 391
377 392
378 393
379 394
380 395
381 396
382 397
383 398
384 399
385 400
Please print clearly— Use only one card per person.
Name
Void after September 30,1986
Title Phone ( )
Comoanv
Address
Apt.
City State
Zip
a
(Zip code must be included to insure delivery.)
Please send me 1 year (12 issues) of PC Tech Journal for $23.70 and bill me.
I’ll save 50% off the single copy price! TJ6861
V
FREE
INFORMATION
Follow the instructions
on the reverse side of
this card to
receive advertisers’
product information.
FREE.
wmmammmmmmmmmmmmmmmmmmmmmgmm
SUBSCRIBE
NOW!
Now’s an ideal time to
consider having us start
you as a PC Tech Jour¬
nal subscriber.
12 issues cost you
only $23.70... a savings
of 50% off the single
copy price. Just check
the box at the bottom
of the reply card.
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 27346 PHILADELPHIA, PA
Postage will be paid by addressee
J
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 27346 PHILADELPHIA, PA
Postage will be paid by addressee
ill 1
OURNAL
P.O. Box 40086
Philadelphia, PA 19106-9931
!
Sometimes Waiting
For Large Corporations
To Introduce New
Technology Is Like
Watching Apes Evolve
PC2/286
$1545
PC/XT Size
Shown with
Optional
ALREGA
Graphics
DEALER INFORMATION CONTACT: MR. KIRKEY or MR. ANEIL
20/30 MEG
INTERNAL
HARD DISK
(OPTIONAL)
ADD UP TO 2 HALF-HEIGHT FLOPPIES
2 HALF-HEIGHT OR 1 FULL HEIGHT HARD DISK
135 WATT
POWER SUPPLY
MOST OF US NEED SOLUTIONS
NOW.IN THIS MILLENIUM!
Ourengineers got tired of waiting fora prod-
uctthat could succeed the legendary PC. So
with our experience in designing and
manufacturing some of the most powerful
PC/XT and AT compatibles, we’ve engineered
a PC with today’s technology to provide solu¬
tions for tomorrow’s challenges.
Introducting the ALR PC2/286.
The next generation.
A computer with processing power
equal to the 8MHz IBM AT com¬
puter (introduced April 1986), so
you can solve problems 500
times faster than with the
original PC.
A computer with more
storage capacity.
The PC2/286 inte¬
grates modern floppy
technology allowing you to
store 3 times more infor¬
mation than you could before.
Evolutionary Winchester hard disk
technology further enhances the power of the
PC2/286.
The PC2/286 incorporates all the best hard¬
ware developments of yesterday while
maintaining the vital link of total shoftware
compatibility through Phoenix Bios.
The economy of modern technology allows
the PS2/286 to be priced lower than the
original PC and most other primitive PC
compatibles.
The Result is a
$1545 Complete System.
If you are tired of waiting for a maybe product,
or you don’t want to buy yesterday’s
techonolgy, then treat yourself to the perfor¬
mance and features of the PC2/286.
Call and talk to our dealers or sales engineers
for the product that says tomorrow.
ALR IN CANADA
416-229-6477
>9IR
ADVANCED LOGIC RESEARCH, INC. 10 CHRYSLER IRVINE, CA 92718 (714) 581-6770 ENGINEERING ADVANCED COMPUTERS
CIRCLE NO. 116 ON READER SERVICE CARD
EXTEND
YOUR
COMPUTING
POWER
Remote lets you run almost any program, from any location, as if you were there
Remote is the software that turns your personal computer in¬
to a host computer. You or anyone you choose can dial it up
from almost any terminal in almost any location, and run most
popular application programs such as word processing, spread¬
sheets, and data base managers.
You’ll see the program on your remote terminal screen as if
you were seated at the host PC.
While Remote itself becomes transparent in use, it offers .
some very tangible benefits:
• You don’t need a second PC to do the job of two. Almost any
terminal or terminal emulator will do. The only software you
need is the software in your host PC.
• Each of several different users can call in from anywhere in
the world and use the host PC and software. Remote includes a
sophisticated electronic mail system with encrypted messages
and individual password protection.
• You can transfer files to and from the host computer, using
the Crosstalk or XMODEM protocol.
• Programmers and software vendors can use Remote to debug
a client’s software by phone, without leaving their own offices.
• f ’ ; *
Imagine the potential Remote has in extending the power of
your own PC. Ask your dealer about it, or write for details.
CROSSTALK and MICROSTUF are registered trademarks of Microstuf, Inc.
REMOTE is a trademark of Microstuf, Inc. / .. —®
IMICROSTUFI
1000 Holcomb Woods Parkway
Roswell, Georgia 30076
CIRCLE NO. 167 ON READER SERVICE CARD